diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9aeeed3..1faaaf8d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -138,6 +138,26 @@ jobs: - run: docker build -t mmore500/signalgp-lite . - run: docker ps -a - run: sudo docker run --cap-add=SYS_ADMIN mmore500/signalgp-lite /bin/bash -c "cd /opt/signalgp-lite && make test" + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + # This should be the path to the paper within your repo. + paper-path: joss/paper.md + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: paper + # This is the output path where Pandoc will write the compiled + # PDF. Note, this should be the same directory as the input + # paper.md + path: joss/paper.pdf deploy-github-pages: runs-on: ubuntu-18.04 name: Deploy to GitHub Pages @@ -152,6 +172,7 @@ jobs: - microbenchmarks - source-clang - source-gcc + - paper env: GH_TOKEN: ${{ github.token }} steps: diff --git a/.gitmodules b/.gitmodules index b0b6d61a..45946115 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,22 +1,6 @@ -[submodule "third-party/Catch"] - path = third-party/Catch - url = https://github.com/philsquared/Catch.git -[submodule "third-party/Empirical"] - path = third-party/Empirical - url = https://github.com/devosoft/Empirical.git - branch = master -[submodule "third-party/force-cover"] - path = third-party/force-cover - url = https://github.com/emilydolson/force-cover.git -[submodule "third-party/emsdk"] - path = third-party/emsdk - url = https://github.com/emscripten-core/emsdk.git [submodule "third-party/SignalGP"] path = third-party/SignalGP url = https://github.com/mmore500/SignalGP.git -[submodule "third-party/cereal"] - path = third-party/cereal - url = https://github.com/mmore500/cereal.git [submodule "third-party/conduit"] path = third-party/conduit url = https://github.com/mmore500/conduit.git diff --git a/Dockerfile b/Dockerfile index 8b81c796..749e99a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,45 +1,14 @@ -FROM mmore500/conduit +FROM mmore500/conduit@sha256:b1590176a947b3d3887470c3dee6d81243c7f05c9f81388bffd67b903586037f USER root COPY . /opt/signalgp-lite -RUN \ - apt-get install -qq \ - python-virtualenv \ - python3-virtualenv \ - python-pip \ - python3-pip \ - doxygen \ - && \ - echo "installed docs dependencies" - RUN \ pip3 install -r /opt/signalgp-lite/docs/requirements.txt \ && \ echo "installed documentation build requirements" -RUN \ - add-apt-repository -y ppa:ubuntu-toolchain-r/test \ - && \ - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ - && \ - apt-add-repository "deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main" \ - && \ - apt-get update -qq \ - && \ - apt-get install -y cmake build-essential python-virtualenv python-pip nodejs tar gzip libclang-7-dev llvm-7 clang-7 libstdc++-7-dev gdb \ - && \ - update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-7 90 \ - && \ - update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-7 90 \ - && \ - update-alternatives --install /usr/bin/llvm-profdata llvm-profdata /usr/bin/llvm-profdata-7 90 \ - && \ - update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-7 90 \ - && \ - echo "installed force cover build dependencies" - # make sure unprivileged user has access to new files in opt # adapted from https://stackoverflow.com/a/27703359 # and https://superuser.com/a/235398 diff --git a/README.md b/README.md index 1efbd7d0..b48f8f05 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ # signalgp-lite [![version](https://img.shields.io/endpoint?url=https%3A%2F%2Fmmore500.github.io%2Fsignalgp-lite%2Fversion-badge.json)](https://github.com/mmore500/signalgp-lite/releases) +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d4ec421f786a4d00bd850bf0d1719d5d)](https://www.codacy.com/gh/mmore500/signalgp-lite/dashboard?utm_source=github.com&utm_medium=referral&utm_content=mmore500/signalgp-lite&utm_campaign=Badge_Grade) [![continuous integration](https://github.com/mmore500/signalgp-lite/workflows/CI/badge.svg)](https://github.com/mmore500/signalgp-lite/actions?query=workflow%3ACI) [![Documentation Status](https://readthedocs.org/projects/signalgp-lite/badge/?version=latest)](https://signalgp-lite.readthedocs.io/en/latest/?badge=latest) [![documentation coverage](https://img.shields.io/endpoint?url=https%3A%2F%2Fmmore500.github.io%2Fsignalgp-lite%2Fdocumentation-coverage-badge.json)](https://signalgp-lite.readthedocs.io/en/latest/) diff --git a/binder/results/changing-enviroment/changing-enviroment.ipynb b/binder/results/changing-enviroment/changing-enviroment.ipynb new file mode 100644 index 00000000..91691f68 --- /dev/null +++ b/binder/results/changing-enviroment/changing-enviroment.ipynb @@ -0,0 +1,621 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 14, + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from teeplot import teeplot as tp\n", + "import numpy as np" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# get data" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 15, + "source": [ + "df2 = pd.read_csv(\"86bf42/K2/concat=100+replicate=1-100+ext=.csv\")\n", + "df4 = pd.read_csv(\"86bf42/K4/concat=100+replicate=1-100+ext=.csv\")\n", + "df8 = pd.read_csv(\"86bf42/K8/concat=100+replicate=1-100+ext=.csv\")\n", + "df16 = pd.read_csv(\"86bf42/K16/concat=100+replicate=1-100+ext=.csv\")\n", + "\n" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# preprocess data" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 16, + "source": [ + "df2[\"k\"] = 2\n", + "df4[\"k\"] = 4\n", + "df8[\"k\"] = 8\n", + "df16[\"k\"] = 16\n", + "\n", + "df = pd.concat([df2, df4, df8, df16])" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# define teeplot functions" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 17, + "source": [ + "def logx_lineplot(*args, **kwargs):\n", + " g = sns.lineplot(\n", + " *args,\n", + " **kwargs\n", + " )\n", + " g.set_xscale(\"log\")\n", + " plt.axhline(256, c=\"grey\", linestyle=\"dotted\", zorder=-1)\n", + " y = np.array([16*i for i in range(17)])\n", + " plt.yticks(y)\n", + " # todo: change names here" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# fitness over time" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## process data" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 18, + "source": [ + "new_rows = []\n", + "for (replicate, k), filtered in df.groupby([\"replicate\", \"k\"]):\n", + " max_update = filtered[\"update\"].max()\n", + "\n", + " for update in range(max_update, 10000):\n", + " new_rows.append({\n", + " \"update\": update,\n", + " \"max_fitness\": 256,\n", + " \"replicate\": replicate,\n", + " \"k\": k\n", + " })\n", + "\n", + "df = df.append(new_rows)\n", + "df" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " update mean_fitness min_fitness max_fitness inferiority \\\n", + "0 0 46.316 0.0 256 0.180922 \n", + "1 0 45.954 0.0 256 0.179508 \n", + "2 0 47.909 0.0 256 0.187145 \n", + "3 0 47.056 0.0 256 0.183812 \n", + "4 0 47.067 0.0 256 0.183855 \n", + "... ... ... ... ... ... \n", + "3842933 9995 NaN NaN 256 NaN \n", + "3842934 9996 NaN NaN 256 NaN \n", + "3842935 9997 NaN NaN 256 NaN \n", + "3842936 9998 NaN NaN 256 NaN \n", + "3842937 9999 NaN NaN 256 NaN \n", + "\n", + " replicate k \n", + "0 100 2 \n", + "1 10 2 \n", + "2 11 2 \n", + "3 12 2 \n", + "4 13 2 \n", + "... ... .. \n", + "3842933 100 16 \n", + "3842934 100 16 \n", + "3842935 100 16 \n", + "3842936 100 16 \n", + "3842937 100 16 \n", + "\n", + "[4000400 rows x 7 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
updatemean_fitnessmin_fitnessmax_fitnessinferiorityreplicatek
0046.3160.02560.1809221002
1045.9540.02560.179508102
2047.9090.02560.187145112
3047.0560.02560.183812122
4047.0670.02560.183855132
........................
38429339995NaNNaN256NaN10016
38429349996NaNNaN256NaN10016
38429359997NaNNaN256NaN10016
38429369998NaNNaN256NaN10016
38429379999NaNNaN256NaN10016
\n", + "

4000400 rows × 7 columns

\n", + "
" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## graph results (ci: SD)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 19, + "source": [ + "df[\"Update\"] = df[\"update\"]\n", + "\n", + "df[\"Max Fitness\"] = df[\"max_fitness\"]\n", + "\n", + "tp.tee(\n", + " logx_lineplot,\n", + " data=df,\n", + " x=\"Update\",\n", + " y=\"Max Fitness\",\n", + " hue=\"k\",\n", + " ci=\"sd\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf\n", + "teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## graph results (ci: 95%)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 20, + "source": [ + "data = df[np.log2(df[\"update\"]+1) % 1.0 < 0.0001]\n", + "len(data)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "5703" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 21, + "source": [ + "data[\"Update\"] = data[\"update\"]\n", + "\n", + "data[\"Max Fitness\"] = data[\"max_fitness\"]\n", + "\n", + "\n", + "tp.tee(\n", + " logx_lineplot,\n", + " data=data,\n", + " x=\"Update\",\n", + " y=\"Max Fitness\",\n", + " hue=\"k\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + ":1: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " data[\"Update\"] = data[\"update\"]\n", + ":3: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " data[\"Max Fitness\"] = data[\"max_fitness\"]\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf\n", + "teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# time to solution over number of states (k)" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### process data" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 22, + "source": [ + "box_df = df[df[\"max_fitness\"] == 256]\n", + "\n", + "res_df = []\n", + "for (replicate, k), filtered in box_df.groupby([\"replicate\", \"k\"]):\n", + " sol_time = filtered[\"update\"].min()\n", + "\n", + " res_df.append({\n", + " \"solution_time\": sol_time,\n", + " \"replicate\": replicate,\n", + " \"k\": k\n", + " })\n", + "\n", + "res_df = df.from_records(res_df)" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### graph" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 24, + "source": [ + "res_df[\"Solution Time\"] = res_df[\"solution_time\"]\n", + "\n", + "tp.tee(\n", + " sns.boxplot,\n", + " data=res_df,\n", + " y=\"Solution Time\",\n", + " x=\"k\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/viz=boxplot+x=k+y=solution-time+ext=.pdf\n", + "teeplots/viz=boxplot+x=k+y=solution-time+ext=.png\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 24 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## time to solution (swarm plot)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 25, + "source": [ + "def tee_swarmplot(*args, **kwargs):\n", + " sns.swarmplot(\n", + " linewidth=0.5,\n", + " s=4,\n", + " edgecolor='white',\n", + " *args,\n", + " **kwargs\n", + " )\n", + " sns.boxplot(\n", + " *args,\n", + " **kwargs\n", + " )" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 26, + "source": [ + "tp.tee(\n", + " tee_swarmplot,\n", + " data=res_df,\n", + " x=\"k\",\n", + " y=\"Solution Time\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/home/zasz/.local/lib/python3.9/site-packages/seaborn/categorical.py:1296: UserWarning: 85.0% of the points cannot be placed; you may want to decrease the size of the markers or use stripplot.\n", + " warnings.warn(msg, UserWarning)\n", + "/home/zasz/.local/lib/python3.9/site-packages/seaborn/categorical.py:1296: UserWarning: 59.0% of the points cannot be placed; you may want to decrease the size of the markers or use stripplot.\n", + " warnings.warn(msg, UserWarning)\n", + "/home/zasz/.local/lib/python3.9/site-packages/seaborn/categorical.py:1296: UserWarning: 11.0% of the points cannot be placed; you may want to decrease the size of the markers or use stripplot.\n", + " warnings.warn(msg, UserWarning)\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.pdf\n", + "teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.png\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + } + ], + "metadata": { + "kernelspec": { + "name": "python3", + "display_name": "Python 3.9.6 64-bit" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/binder/results/changing-enviroment/teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf b/binder/results/changing-enviroment/teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf new file mode 100644 index 00000000..78ff6678 Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf differ diff --git a/binder/results/changing-enviroment/teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png b/binder/results/changing-enviroment/teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png new file mode 100644 index 00000000..f34e9237 Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/ci=sd+hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png differ diff --git a/binder/results/changing-enviroment/teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf b/binder/results/changing-enviroment/teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf new file mode 100644 index 00000000..12a5c6b1 Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf differ diff --git a/binder/results/changing-enviroment/teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png b/binder/results/changing-enviroment/teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png new file mode 100644 index 00000000..1c9a33f4 Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/hue=k+viz=logx-lineplot+x=update+y=max-fitness+ext=.png differ diff --git a/binder/results/changing-enviroment/teeplots/viz=boxplot+x=k+y=solution-time+ext=.pdf b/binder/results/changing-enviroment/teeplots/viz=boxplot+x=k+y=solution-time+ext=.pdf new file mode 100644 index 00000000..8ea27f57 Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/viz=boxplot+x=k+y=solution-time+ext=.pdf differ diff --git a/binder/results/changing-enviroment/teeplots/viz=boxplot+x=k+y=solution-time+ext=.png b/binder/results/changing-enviroment/teeplots/viz=boxplot+x=k+y=solution-time+ext=.png new file mode 100644 index 00000000..b5cab02c Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/viz=boxplot+x=k+y=solution-time+ext=.png differ diff --git a/binder/results/changing-enviroment/teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.pdf b/binder/results/changing-enviroment/teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.pdf new file mode 100644 index 00000000..10f51eb8 Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.pdf differ diff --git a/binder/results/changing-enviroment/teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.png b/binder/results/changing-enviroment/teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.png new file mode 100644 index 00000000..8ab132c4 Binary files /dev/null and b/binder/results/changing-enviroment/teeplots/viz=tee-swarmplot+x=k+y=solution-time+ext=.png differ diff --git a/binder/results/contextual-signal/contextual-signal.ipynb b/binder/results/contextual-signal/contextual-signal.ipynb new file mode 100644 index 00000000..6106ca1f --- /dev/null +++ b/binder/results/contextual-signal/contextual-signal.ipynb @@ -0,0 +1,38410 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 42, + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from teeplot import teeplot as tp\n", + "import numpy as np\n", + "import scipy.stats as stats" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# get data" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 43, + "source": [ + "reg = pd.read_csv(\"regulation.csv\")\n", + "no_reg = pd.read_csv(\"no-regulation.csv\")\n", + "\n", + "reg['regulation'] = \"enabled\"\n", + "no_reg['regulation'] = \"disabled\"\n", + "\n", + "df = pd.concat([reg, no_reg])\n", + "df" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Unnamed: 0 update mean_fitness min_fitness max_fitness \\\n", + "0 0 0 3.127 0 6 \n", + "1 1 1 4.698 3 7 \n", + "2 2 2 4.947 3 7 \n", + "3 3 3 5.118 3 7 \n", + "4 4 4 5.112 3 9 \n", + "... ... ... ... ... ... \n", + "31468 31468 2971 13.404 2 15 \n", + "31469 31469 2972 13.384 2 15 \n", + "31470 31470 2973 13.235 1 15 \n", + "31471 31471 2974 13.365 2 15 \n", + "31472 31472 2975 13.266 2 16 \n", + "\n", + " inferiority replicate regulation \n", + "0 0.521167 1 enabled \n", + "1 0.671143 1 enabled \n", + "2 0.706714 1 enabled \n", + "3 0.731143 1 enabled \n", + "4 0.568000 1 enabled \n", + "... ... ... ... \n", + "31468 0.893600 20 disabled \n", + "31469 0.892267 20 disabled \n", + "31470 0.882333 20 disabled \n", + "31471 0.891000 20 disabled \n", + "31472 0.829125 20 disabled \n", + "\n", + "[37626 rows x 8 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0updatemean_fitnessmin_fitnessmax_fitnessinferiorityreplicateregulation
0003.127060.5211671enabled
1114.698370.6711431enabled
2224.947370.7067141enabled
3335.118370.7311431enabled
4445.112390.5680001enabled
...........................
3146831468297113.4042150.89360020disabled
3146931469297213.3842150.89226720disabled
3147031470297313.2351150.88233320disabled
3147131471297413.3652150.89100020disabled
3147231472297513.2662160.82912520disabled
\n", + "

37626 rows × 8 columns

\n", + "
" + ] + }, + "metadata": {}, + "execution_count": 43 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# define teeplot functions" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 44, + "source": [ + "def logx_lineplot(*args, **kwargs):\n", + " g = sns.lineplot(\n", + " *args,\n", + " **kwargs\n", + " )\n", + " g.set_xscale(\"log\")\n", + " plt.axhline(256, c=\"grey\", linestyle=\"dotted\", zorder=-1)\n", + " y = np.array([16*i for i in range(17)])\n", + " plt.yticks(y)\n", + " # todo: change names here" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# fitness over time" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## process data" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 45, + "source": [ + "\n", + "'''\n", + "new_rows = []\n", + "for (replicate, regulation), filtered in df.groupby([\"replicate\", \"regulation\"]):\n", + " max_update = filtered[\"update\"].max()\n", + "\n", + " for update in range(max_update, 10000):\n", + " new_rows.append({\n", + " \"update\": update,\n", + " \"max_fitness\": 16,\n", + " \"replicate\": replicate,\n", + " \"regulation\": regulation\n", + "})\n", + "\n", + "df = df.append(new_rows)\n", + "df\n", + "'''" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'\\nnew_rows = []\\nfor (replicate, regulation), filtered in df.groupby([\"replicate\", \"regulation\"]):\\n max_update = filtered[\"update\"].max()\\n\\n for update in range(max_update, 10000):\\n new_rows.append({\\n \"update\": update,\\n \"max_fitness\": 16,\\n \"replicate\": replicate,\\n \"regulation\": regulation\\n})\\n\\ndf = df.append(new_rows)\\ndf\\n'" + ] + }, + "metadata": {}, + "execution_count": 45 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## graph results (ci: SD)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 46, + "source": [ + "tp.tee(\n", + " logx_lineplot,\n", + " data=df,\n", + " x=\"update\",\n", + " y=\"max_fitness\",\n", + " ci=\"sd\",\n", + " hue=\"regulation\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf\n", + "teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.png\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## graph results (ci: 95%)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 47, + "source": [ + "data = df[np.log2(df[\"update\"]+1) % 1.0 < 0.0001]\n", + "len(data)" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "376" + ] + }, + "metadata": {}, + "execution_count": 47 + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 48, + "source": [ + "'''\n", + "tp.tee(\n", + " logx_lineplot,\n", + " data=df,\n", + " x=\"update\",\n", + " y=\"max_fitness\",\n", + " hue=\"regulation\"\n", + ")\n", + "'''" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'\\ntp.tee(\\n logx_lineplot,\\n data=df,\\n x=\"update\",\\n y=\"max_fitness\",\\n hue=\"regulation\"\\n)\\n'" + ] + }, + "metadata": {}, + "execution_count": 48 + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "# time to solution over number of states (k)" + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### process data" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 49, + "source": [ + "x = (df[\"max_fitness\"] != df[\"max_fitness\"].shift()).cumsum()\n", + "for a, b in zip(x, df[\"max_fitness\"]):\n", + " print(a, b)" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1 6\n", + "2 7\n", + "2 7\n", + "2 7\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "3 9\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "4 10\n", + "5 11\n", + "5 11\n", + "5 11\n", + "5 11\n", + "5 11\n", + "5 11\n", + "5 11\n", + "5 11\n", + "5 11\n", + "5 11\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "6 12\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "7 13\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "8 14\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "9 15\n", + "10 16\n", + "11 6\n", + "12 7\n", + "12 7\n", + "12 7\n", + "13 8\n", + "13 8\n", + "13 8\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "14 9\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "15 10\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "16 11\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "17 12\n", + "18 13\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "19 14\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "20 15\n", + "21 16\n", + "22 6\n", + "23 7\n", + "23 7\n", + "24 8\n", + "24 8\n", + "24 8\n", + "24 8\n", + "24 8\n", + "24 8\n", + "24 8\n", + "24 8\n", + "24 8\n", + "24 8\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "25 9\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "26 10\n", + "27 11\n", + "27 11\n", + "27 11\n", + "27 11\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "28 12\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "29 13\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "30 14\n", + "31 15\n", + "32 16\n", + "33 6\n", + "33 6\n", + "33 6\n", + "33 6\n", + "33 6\n", + "33 6\n", + "33 6\n", + "33 6\n", + "33 6\n", + "34 7\n", + "34 7\n", + "34 7\n", + "34 7\n", + "34 7\n", + "34 7\n", + "34 7\n", + "35 8\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "36 9\n", + "37 10\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "38 12\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "39 13\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "40 14\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "41 15\n", + "42 16\n", + "43 8\n", + "43 8\n", + "43 8\n", + "43 8\n", + "43 8\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "44 9\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "45 10\n", + "46 11\n", + "46 11\n", + "46 11\n", + "46 11\n", + "46 11\n", + "46 11\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "47 12\n", + "48 13\n", + "48 13\n", + "48 13\n", + "48 13\n", + "48 13\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "49 14\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "50 15\n", + "51 16\n", + "52 6\n", + "53 7\n", + "53 7\n", + "53 7\n", + "53 7\n", + "53 7\n", + "53 7\n", + "53 7\n", + "53 7\n", + "53 7\n", + "53 7\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "54 8\n", + "55 9\n", + "55 9\n", + "56 10\n", + "56 10\n", + "56 10\n", + "56 10\n", + "56 10\n", + "56 10\n", + "56 10\n", + "56 10\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "57 11\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "58 12\n", + "59 13\n", + "59 13\n", + "60 14\n", + "60 14\n", + "60 14\n", + "61 15\n", + "61 15\n", + "61 15\n", + "61 15\n", + "61 15\n", + "61 15\n", + "61 15\n", + "62 16\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "63 6\n", + "64 7\n", + "64 7\n", + "65 8\n", + "65 8\n", + "65 8\n", + "65 8\n", + "65 8\n", + "65 8\n", + "65 8\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "66 9\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "67 10\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "68 11\n", + "69 12\n", + "69 12\n", + "69 12\n", + "69 12\n", + "69 12\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "70 13\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "71 14\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "72 15\n", + "73 16\n", + "74 6\n", + "74 6\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "75 8\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "76 9\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "77 10\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "78 11\n", + "79 12\n", + "79 12\n", + "79 12\n", + "79 12\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "80 13\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "81 14\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "82 15\n", + "83 16\n", + "84 6\n", + "84 6\n", + "84 6\n", + "85 7\n", + "86 8\n", + "86 8\n", + "86 8\n", + "86 8\n", + "86 8\n", + "86 8\n", + "86 8\n", + "86 8\n", + "86 8\n", + "86 8\n", + "87 9\n", + "87 9\n", + "87 9\n", + "87 9\n", + "87 9\n", + "87 9\n", + "87 9\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "88 10\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "89 11\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "90 12\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "91 13\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "92 14\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "93 15\n", + "94 16\n", + "95 7\n", + "95 7\n", + "96 8\n", + "97 9\n", + "97 9\n", + "97 9\n", + "97 9\n", + "97 9\n", + "98 10\n", + "98 10\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "99 11\n", + "100 12\n", + "100 12\n", + "101 13\n", + "101 13\n", + "101 13\n", + "101 13\n", + "101 13\n", + "101 13\n", + "101 13\n", + "101 13\n", + "101 13\n", + "101 13\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "102 15\n", + "103 16\n", + "104 6\n", + "104 6\n", + "104 6\n", + "105 7\n", + "105 7\n", + "105 7\n", + "105 7\n", + "105 7\n", + "105 7\n", + "105 7\n", + "105 7\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "106 8\n", + "107 9\n", + "107 9\n", + "107 9\n", + "107 9\n", + "107 9\n", + "107 9\n", + "107 9\n", + "107 9\n", + "107 9\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "108 10\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "109 11\n", + "110 12\n", + "110 12\n", + "110 12\n", + "110 12\n", + "110 12\n", + "110 12\n", + "110 12\n", + "111 13\n", + "111 13\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "112 14\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "113 15\n", + "114 16\n", + "115 6\n", + "116 7\n", + "116 7\n", + "116 7\n", + "116 7\n", + "116 7\n", + "116 7\n", + "116 7\n", + "116 7\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "117 8\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "118 10\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "119 11\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "120 12\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "121 13\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "122 14\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "123 15\n", + "124 16\n", + "125 6\n", + "125 6\n", + "125 6\n", + "125 6\n", + "125 6\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "126 7\n", + "127 8\n", + "127 8\n", + "127 8\n", + "127 8\n", + "127 8\n", + "127 8\n", + "127 8\n", + "127 8\n", + "127 8\n", + "127 8\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "128 9\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "129 10\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "130 11\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "131 12\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "132 13\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "133 14\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "134 15\n", + "135 16\n", + "136 6\n", + "137 7\n", + "137 7\n", + "137 7\n", + "137 7\n", + "137 7\n", + "137 7\n", + "137 7\n", + "138 8\n", + "138 8\n", + "138 8\n", + "138 8\n", + "138 8\n", + "138 8\n", + "138 8\n", + "138 8\n", + "138 8\n", + "138 8\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "139 9\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "140 10\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "141 11\n", + "142 12\n", + "142 12\n", + "142 12\n", + "142 12\n", + "142 12\n", + "142 12\n", + "142 12\n", + "142 12\n", + "142 12\n", + "142 12\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "143 14\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "144 15\n", + "145 16\n", + "146 6\n", + "146 6\n", + "147 7\n", + "148 8\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "149 9\n", + "150 10\n", + "150 10\n", + "150 10\n", + "150 10\n", + "151 11\n", + "151 11\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "152 12\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "153 13\n", + "154 14\n", + "154 14\n", + "154 14\n", + "154 14\n", + "154 14\n", + "154 14\n", + "154 14\n", + "154 14\n", + "154 14\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "155 15\n", + "156 16\n", + "157 6\n", + "158 7\n", + "158 7\n", + "159 8\n", + "159 8\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "160 9\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "161 10\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "162 11\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "163 12\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "164 13\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "165 14\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "166 15\n", + "167 16\n", + "168 6\n", + "168 6\n", + "168 6\n", + "168 6\n", + "168 6\n", + "168 6\n", + "168 6\n", + "169 7\n", + "169 7\n", + "169 7\n", + "169 7\n", + "169 7\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "170 8\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "171 9\n", + "172 10\n", + "172 10\n", + "172 10\n", + "172 10\n", + "172 10\n", + "172 10\n", + "172 10\n", + "172 10\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "173 11\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "174 12\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "175 13\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "176 14\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "177 15\n", + "178 16\n", + "179 6\n", + "179 6\n", + "179 6\n", + "179 6\n", + "179 6\n", + "179 6\n", + "179 6\n", + "180 7\n", + "180 7\n", + "180 7\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "181 8\n", + "182 9\n", + "182 9\n", + "182 9\n", + "182 9\n", + "182 9\n", + "182 9\n", + "182 9\n", + "182 9\n", + "182 9\n", + "182 9\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "183 10\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "184 11\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "185 12\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "186 13\n", + "187 14\n", + "187 14\n", + "187 14\n", + "187 14\n", + "187 14\n", + "187 14\n", + "187 14\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "188 15\n", + "189 16\n", + "190 6\n", + "190 6\n", + "190 6\n", + "190 6\n", + "190 6\n", + "190 6\n", + "191 7\n", + "191 7\n", + "191 7\n", + "191 7\n", + "192 8\n", + "192 8\n", + "192 8\n", + "193 9\n", + "193 9\n", + "193 9\n", + "193 9\n", + "193 9\n", + "193 9\n", + "193 9\n", + "194 10\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "195 11\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "196 12\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "197 13\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "198 14\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "199 15\n", + "200 16\n", + "201 7\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "202 8\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "203 10\n", + "204 11\n", + "204 11\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "205 12\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "206 13\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "207 14\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "208 15\n", + "209 16\n", + "210 5\n", + "210 5\n", + "211 6\n", + "211 6\n", + "211 6\n", + "211 6\n", + "211 6\n", + "212 7\n", + "212 7\n", + "212 7\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "213 8\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "214 9\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "215 10\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "216 11\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "217 12\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "218 13\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "219 14\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "220 15\n", + "221 16\n", + "222 6\n", + "222 6\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "223 9\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "224 10\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "225 11\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "226 12\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "227 13\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "228 14\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "229 15\n", + "230 16\n", + "231 6\n", + "231 6\n", + "231 6\n", + "231 6\n", + "232 7\n", + "233 8\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "234 9\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "235 10\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "236 11\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "237 12\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "238 13\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "239 14\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "240 15\n", + "241 16\n", + "242 6\n", + "242 6\n", + "242 6\n", + "243 7\n", + "244 8\n", + "244 8\n", + "244 8\n", + "244 8\n", + "244 8\n", + "244 8\n", + "244 8\n", + "244 8\n", + "244 8\n", + "244 8\n", + "245 9\n", + "245 9\n", + "245 9\n", + "245 9\n", + "245 9\n", + "245 9\n", + "245 9\n", + "245 9\n", + "245 9\n", + "245 9\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "246 10\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "247 11\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "248 12\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "249 13\n", + "250 14\n", + "250 14\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "251 15\n", + "252 16\n", + "253 8\n", + "253 8\n", + "253 8\n", + "253 8\n", + "254 9\n", + "254 9\n", + "254 9\n", + "254 9\n", + "254 9\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "255 10\n", + "256 11\n", + "256 11\n", + "256 11\n", + "256 11\n", + "256 11\n", + "256 11\n", + "256 11\n", + "256 11\n", + "256 11\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "257 12\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "258 13\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "259 14\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "260 15\n", + "261 16\n", + "262 6\n", + "262 6\n", + "263 7\n", + "263 7\n", + "263 7\n", + "263 7\n", + "263 7\n", + "263 7\n", + "263 7\n", + "263 7\n", + "263 7\n", + "263 7\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "264 8\n", + "265 9\n", + "265 9\n", + "265 9\n", + "265 9\n", + "265 9\n", + "265 9\n", + "265 9\n", + "265 9\n", + "265 9\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "266 10\n", + "267 11\n", + "267 11\n", + "267 11\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "268 12\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "269 13\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "270 14\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "271 15\n", + "272 16\n", + "273 6\n", + "273 6\n", + "273 6\n", + "273 6\n", + "273 6\n", + "273 6\n", + "274 7\n", + "274 7\n", + "274 7\n", + "274 7\n", + "275 8\n", + "275 8\n", + "275 8\n", + "275 8\n", + "275 8\n", + "276 10\n", + "276 10\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "277 11\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "278 12\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "279 13\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "280 14\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "281 15\n", + "282 16\n", + "283 6\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "284 7\n", + "285 8\n", + "285 8\n", + "285 8\n", + "285 8\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "286 9\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "287 10\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "288 11\n", + "289 12\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "290 13\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "291 14\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "292 15\n", + "293 16\n", + "294 6\n", + "294 6\n", + "294 6\n", + "295 7\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "296 8\n", + "297 9\n", + "297 9\n", + "297 9\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "298 10\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "299 11\n", + "300 12\n", + "300 12\n", + "300 12\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "301 13\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "302 14\n", + "303 15\n", + "303 15\n", + "303 15\n", + "303 15\n", + "304 16\n", + "305 7\n", + "305 7\n", + "305 7\n", + "305 7\n", + "305 7\n", + "305 7\n", + "306 8\n", + "306 8\n", + "306 8\n", + "306 8\n", + "307 9\n", + "307 9\n", + "307 9\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "308 10\n", + "309 11\n", + "309 11\n", + "309 11\n", + "309 11\n", + "309 11\n", + "309 11\n", + "309 11\n", + "310 12\n", + "310 12\n", + "310 12\n", + "310 12\n", + "310 12\n", + "310 12\n", + "310 12\n", + "310 12\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "311 13\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "312 14\n", + "313 16\n", + "314 6\n", + "314 6\n", + "314 6\n", + "314 6\n", + "314 6\n", + "314 6\n", + "315 7\n", + "315 7\n", + "315 7\n", + "315 7\n", + "315 7\n", + "315 7\n", + "315 7\n", + "316 8\n", + "316 8\n", + "316 8\n", + "316 8\n", + "316 8\n", + "316 8\n", + "316 8\n", + "316 8\n", + "316 8\n", + "316 8\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "317 9\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "318 10\n", + "319 11\n", + "319 11\n", + "319 11\n", + "319 11\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "320 12\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "321 13\n", + "322 14\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "323 15\n", + "324 16\n", + "325 6\n", + "325 6\n", + "325 6\n", + "326 7\n", + "326 7\n", + "326 7\n", + "326 7\n", + "327 8\n", + "327 8\n", + "327 8\n", + "327 8\n", + "327 8\n", + "327 8\n", + "327 8\n", + "327 8\n", + "328 9\n", + "328 9\n", + "328 9\n", + "328 9\n", + "328 9\n", + "329 10\n", + "329 10\n", + "329 10\n", + "330 11\n", + "330 11\n", + "330 11\n", + "330 11\n", + "330 11\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "331 12\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "332 13\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "333 14\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "334 15\n", + "335 16\n", + "336 6\n", + "336 6\n", + "336 6\n", + "336 6\n", + "337 8\n", + "337 8\n", + "337 8\n", + "337 8\n", + "337 8\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "338 9\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "339 10\n", + "340 11\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "341 12\n", + "342 13\n", + "342 13\n", + "342 13\n", + "342 13\n", + "342 13\n", + "342 13\n", + "342 13\n", + "342 13\n", + "342 13\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "343 14\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "344 15\n", + "345 16\n", + "346 6\n", + "346 6\n", + "347 7\n", + "347 7\n", + "347 7\n", + "348 8\n", + "348 8\n", + "348 8\n", + "348 8\n", + "348 8\n", + "348 8\n", + "348 8\n", + "348 8\n", + "348 8\n", + "349 9\n", + "349 9\n", + "349 9\n", + "349 9\n", + "349 9\n", + "349 9\n", + "349 9\n", + "349 9\n", + "349 9\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "350 10\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "351 11\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "352 12\n", + "353 13\n", + "353 13\n", + "353 13\n", + "353 13\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "354 14\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "355 15\n", + "356 16\n", + "357 6\n", + "357 6\n", + "358 7\n", + "358 7\n", + "358 7\n", + "358 7\n", + "358 7\n", + "358 7\n", + "359 8\n", + "359 8\n", + "359 8\n", + "359 8\n", + "359 8\n", + "359 8\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "360 10\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "361 11\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "362 12\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "363 13\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "364 14\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "365 15\n", + "366 16\n", + "367 6\n", + "368 7\n", + "368 7\n", + "368 7\n", + "369 8\n", + "369 8\n", + "369 8\n", + "369 8\n", + "369 8\n", + "369 8\n", + "369 8\n", + "369 8\n", + "369 8\n", + "369 8\n", + "370 9\n", + "370 9\n", + "371 10\n", + "371 10\n", + "371 10\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "372 11\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "373 12\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "374 14\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "375 15\n", + "376 16\n", + "377 6\n", + "377 6\n", + "377 6\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "378 7\n", + "379 8\n", + "379 8\n", + "379 8\n", + "379 8\n", + "379 8\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "380 9\n", + "381 10\n", + "381 10\n", + "381 10\n", + "381 10\n", + "382 11\n", + "382 11\n", + "382 11\n", + "382 11\n", + "382 11\n", + "382 11\n", + "383 12\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "384 13\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "385 14\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "386 15\n", + "387 16\n", + "388 6\n", + "389 7\n", + "389 7\n", + "389 7\n", + "389 7\n", + "389 7\n", + "390 8\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "391 9\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "392 10\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "393 12\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "394 13\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "395 14\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "396 15\n", + "397 16\n", + "398 6\n", + "398 6\n", + "398 6\n", + "398 6\n", + "398 6\n", + "398 6\n", + "398 6\n", + "398 6\n", + "398 6\n", + "399 7\n", + "399 7\n", + "399 7\n", + "399 7\n", + "399 7\n", + "399 7\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "400 8\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "401 9\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "402 11\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "403 12\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "404 13\n", + "405 14\n", + "405 14\n", + "405 14\n", + "405 14\n", + "405 14\n", + "405 14\n", + "405 14\n", + "405 14\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "406 15\n", + "407 16\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "408 8\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "409 9\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "410 10\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "411 11\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "412 12\n", + "413 13\n", + "413 13\n", + "413 13\n", + "413 13\n", + "413 13\n", + "413 13\n", + "413 13\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "414 14\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "415 15\n", + "416 16\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 50, + "source": [ + "df = df.sort_values(by=[\"replicate\", \"regulation\", \"update\"])\n", + "\n", + "df[\"streak_length\"] = df.groupby(\n", + " (df[\"max_fitness\"] != df[\"max_fitness\"].shift()).cumsum()\n", + ").cumcount() + 1" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 51, + "source": [ + "sns.lineplot(\n", + " data=df[(df[\"replicate\"] == 7) & (df[\"regulation\"] == 1)],\n", + " y=\"streak_length\",\n", + " x=\"update\",\n", + " ci=None,\n", + " hue=\"max_fitness\"\n", + ")" + ], + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 51 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 52, + "source": [ + "box_df = df[(df[\"max_fitness\"] == 16)]\n", + "\n", + "res_df = []\n", + "for (replicate, regulation), filtered in box_df.groupby([\"replicate\", \"regulation\"]):\n", + " sol_time = filtered[\"update\"].min()\n", + " print(replicate, sol_time, \"reg:\", regulation)\n", + " res_df.append({\n", + " \"solution_time\": sol_time,\n", + " \"replicate\": replicate,\n", + " \"regulation\": regulation\n", + " })\n", + "\n", + "all_pairs = {item for item, filtered in df.groupby([\"replicate\", \"regulation\"])}\n", + "sol_pairs = {item for item, filtered in box_df.groupby([\"replicate\", \"regulation\"])}\n", + "\n", + "for (replicate, regulation) in all_pairs - sol_pairs:\n", + " sol_time = 10000\n", + " print(replicate, sol_time, \"reg:\", regulation)\n", + " res_df.append({\n", + " \"solution_time\": sol_time,\n", + " \"replicate\": replicate,\n", + " \"regulation\": regulation\n", + " })\n", + "\n", + "res_df = df.from_records(res_df)" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "1 405 reg: disabled\n", + "1 370 reg: enabled\n", + "2 2506 reg: disabled\n", + "2 381 reg: enabled\n", + "3 5028 reg: disabled\n", + "3 92 reg: enabled\n", + "4 803 reg: disabled\n", + "4 452 reg: enabled\n", + "5 347 reg: disabled\n", + "5 509 reg: enabled\n", + "6 6494 reg: disabled\n", + "6 102 reg: enabled\n", + "7 358 reg: disabled\n", + "7 313 reg: enabled\n", + "8 411 reg: disabled\n", + "8 174 reg: enabled\n", + "9 283 reg: disabled\n", + "9 185 reg: enabled\n", + "10 273 reg: disabled\n", + "10 470 reg: enabled\n", + "11 360 reg: disabled\n", + "11 171 reg: enabled\n", + "12 245 reg: disabled\n", + "12 470 reg: enabled\n", + "13 1918 reg: disabled\n", + "13 279 reg: enabled\n", + "14 3045 reg: disabled\n", + "14 227 reg: enabled\n", + "15 1314 reg: disabled\n", + "15 144 reg: enabled\n", + "16 613 reg: disabled\n", + "16 332 reg: enabled\n", + "17 3017 reg: disabled\n", + "17 457 reg: enabled\n", + "18 324 reg: disabled\n", + "18 186 reg: enabled\n", + "19 734 reg: disabled\n", + "19 471 reg: enabled\n", + "20 2975 reg: disabled\n", + "20 348 reg: enabled\n" + ] + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "### graph" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 53, + "source": [ + "tp.tee(\n", + " sns.boxplot,\n", + " data=res_df,\n", + " y=\"solution_time\",\n", + " x=\"regulation\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.pdf\n", + "teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.png\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 53 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "markdown", + "source": [ + "## time to solution (swarm plot)" + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 54, + "source": [ + "def tee_swarmplot(*args, **kwargs):\n", + " sns.swarmplot(\n", + " linewidth=0.5,\n", + " s=4,\n", + " edgecolor='white',\n", + " *args,\n", + " **kwargs\n", + " )\n", + " sns.boxplot(\n", + " *args,\n", + " **kwargs\n", + " )" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 58, + "source": [ + "res_df[\"Solution Time\"] = res_df[\"solution_time\"]\n", + "res_df[\"Regulation\"] = res_df[\"regulation\"]\n", + "\n", + "\n", + "tp.tee(\n", + " tee_swarmplot,\n", + " data=res_df,\n", + " y=\"Solution Time\",\n", + " x=\"Regulation\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.pdf\n", + "teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.png\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 59, + "source": [ + "def tee_barswarm(*args, **kwargs):\n", + " sns.swarmplot(\n", + " linewidth=0.5,\n", + " s=4,\n", + " edgecolor='white',\n", + " *args,\n", + " **kwargs\n", + " )\n", + " sns.barplot(\n", + " capsize=0.4,\n", + " errwidth=2,\n", + " *args,\n", + " **kwargs\n", + " )" + ], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": 60, + "source": [ + "tp.tee(\n", + " tee_barswarm,\n", + " data=res_df,\n", + " y=\"solution_time\",\n", + " x=\"regulation\"\n", + ")" + ], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.pdf\n", + "teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.png\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [], + "outputs": [], + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "source": [], + "outputs": [], + "metadata": {} + } + ], + "metadata": { + "kernelspec": { + "name": "python3", + "display_name": "Python 3.9.6 64-bit" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.6" + }, + "interpreter": { + "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/binder/results/contextual-signal/teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf b/binder/results/contextual-signal/teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf new file mode 100644 index 00000000..5c6efbef Binary files /dev/null and b/binder/results/contextual-signal/teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.pdf differ diff --git a/binder/results/contextual-signal/teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.png b/binder/results/contextual-signal/teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.png new file mode 100644 index 00000000..99c5b108 Binary files /dev/null and b/binder/results/contextual-signal/teeplots/ci=sd+hue=regulation+viz=logx-lineplot+x=update+y=max-fitness+ext=.png differ diff --git a/binder/results/contextual-signal/teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.pdf b/binder/results/contextual-signal/teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.pdf new file mode 100644 index 00000000..7f45ca91 Binary files /dev/null and b/binder/results/contextual-signal/teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.pdf differ diff --git a/binder/results/contextual-signal/teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.png b/binder/results/contextual-signal/teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.png new file mode 100644 index 00000000..3673acc5 Binary files /dev/null and b/binder/results/contextual-signal/teeplots/viz=boxplot+x=regulation+y=solution-time+ext=.png differ diff --git a/binder/results/contextual-signal/teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.pdf b/binder/results/contextual-signal/teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.pdf new file mode 100644 index 00000000..3f514bcd Binary files /dev/null and b/binder/results/contextual-signal/teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.pdf differ diff --git a/binder/results/contextual-signal/teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.png b/binder/results/contextual-signal/teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.png new file mode 100644 index 00000000..71b91ea4 Binary files /dev/null and b/binder/results/contextual-signal/teeplots/viz=tee-barswarm+x=regulation+y=solution-time+ext=.png differ diff --git a/binder/results/contextual-signal/teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.pdf b/binder/results/contextual-signal/teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.pdf new file mode 100644 index 00000000..82ba3bb2 Binary files /dev/null and b/binder/results/contextual-signal/teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.pdf differ diff --git a/binder/results/contextual-signal/teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.png b/binder/results/contextual-signal/teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.png new file mode 100644 index 00000000..72143189 Binary files /dev/null and b/binder/results/contextual-signal/teeplots/viz=tee-swarmplot+x=regulation+y=solution-time+ext=.png differ diff --git a/ci/fix_missing_newlines.sh b/ci/fix_missing_newlines.sh index 941a8818..8631e4e7 100755 --- a/ci/fix_missing_newlines.sh +++ b/ci/fix_missing_newlines.sh @@ -1,6 +1,8 @@ #!/bin/bash -TARGETS=$(find . -type f ! -path "./third-party/*" ! -path "./.git/*" ! -path "*/assets/*" ! -path "*.tar.gz" ! -path "*.jpg" ! -path "*.png" ! -path "*Makefile" ! -path "*Maketemplate*") +# greq -qI tests if file is binary +# adapted from https://stackoverflow.com/a/29689345 +TARGETS=$(find . -type f ! -path "./third-party/*" ! -path "./.git/*" ! -path "*/assets/*" ! -path "*.tar.gz" ! -path "*.jpg" ! -path "*.png" ! -path "*Makefile" ! -path "*Maketemplate*" -exec grep -qI . {} ';' -print) for filename in $TARGETS do diff --git a/ci/grep_dotos.sh b/ci/grep_dotos.sh old mode 100644 new mode 100755 diff --git a/ci/replace_tabs.sh b/ci/replace_tabs.sh index 0c1ff784..86a54b23 100755 --- a/ci/replace_tabs.sh +++ b/ci/replace_tabs.sh @@ -1,6 +1,8 @@ #!/bin/bash -TARGETS=$(find . -type f ! -path "./third-party/*" ! -path "./.git/*" ! -path "*/assets/*" ! -path "*Makefile" ! -path "*Maketemplate*") +# greq -qI tests if file is binary +# adapted from https://stackoverflow.com/a/29689345 +TARGETS=$(find . -type f ! -path "./third-party/*" ! -path "./.git/*" ! -path "*/assets/*" ! -path "*Makefile" ! -path "*Maketemplate*" -exec grep -qI . {} ';' -print) for filename in $TARGETS do diff --git a/ci/strip_trailing_whitespace.sh b/ci/strip_trailing_whitespace.sh index 1f4f0d79..8ca333b3 100755 --- a/ci/strip_trailing_whitespace.sh +++ b/ci/strip_trailing_whitespace.sh @@ -1,6 +1,8 @@ #!/bin/bash -TARGETS=$(find . -type f ! -path "./third-party/*" ! -path "./.git/*" ! -path "*/assets/*") +# greq -qI tests if file is binary +# adapted from https://stackoverflow.com/a/29689345 +TARGETS=$(find . -type f ! -path "./third-party/*" ! -path "./.git/*" ! -path "*/assets/*" -exec grep -qI . {} ';' -print) for filename in $TARGETS do diff --git a/fuzzing/execute.cpp b/fuzzing/execute.cpp index 6a5c1dc1..0b9356a3 100644 --- a/fuzzing/execute.cpp +++ b/fuzzing/execute.cpp @@ -26,7 +26,7 @@ void fuzz_one() { cpu.InitializeAnchors( program ); for ( [[maybe_unused]] auto j : timekeeper_t{ std::chrono::seconds{ 1 } }) { - while ( cpu.TryLaunchCore( emp::BitSet<32>(rng) ) ) ; + while ( cpu.TryLaunchCore( emp::BitSet<64>(rng) ) ) ; sgpl::execute_cpu( std::kilo::num, cpu, program ); } diff --git a/include/sgpl/hardware/Core.hpp b/include/sgpl/hardware/Core.hpp index 78a85be8..ee94985d 100644 --- a/include/sgpl/hardware/Core.hpp +++ b/include/sgpl/hardware/Core.hpp @@ -41,20 +41,20 @@ class Core { sgpl::CappedSet fork_requests{}; - inline void Terminate() { + inline void Terminate() noexcept { program_counter = std::numeric_limits::max(); }; __attribute__ ((hot)) - inline bool HasTerminated() const { + inline bool HasTerminated() const noexcept { return program_counter == std::numeric_limits::max(); } __attribute__ ((hot)) - inline size_t GetProgramCounter() const { return program_counter; } + inline size_t GetProgramCounter() const noexcept { return program_counter; } __attribute__ ((hot)) - void AdvanceProgramCounter(const size_t program_length) { + void AdvanceProgramCounter(const size_t program_length) noexcept { // equivalent to // if ( HasTerminated() == false ) { // ++program_counter; @@ -68,14 +68,18 @@ class Core { emp_assert( has_termianted || program_counter < program_length ); } - inline bool HasLocalAnchors() const { return local_jump_table.GetSize(); } + inline bool HasLocalAnchors() const noexcept { + return local_jump_table.GetSize(); + } - inline void LoadLocalAnchors( const sgpl::Program& program ) { + inline void LoadLocalAnchors( const sgpl::Program& program ) noexcept { emp_assert( ! HasLocalAnchors() ); local_jump_table.InitializeLocalAnchors( program, GetProgramCounter() ); } - void JumpToGlobalAnchorMatch( const tag_t& query, const size_t jt_idx=0 ) { + void JumpToGlobalAnchorMatch( + const tag_t& query, const size_t jt_idx=0 + ) noexcept { const auto res { global_jump_tables->at( jt_idx ).MatchRegulated(query) }; if ( res.size() ) { program_counter = global_jump_tables->at( jt_idx ).GetVal(res.front()); @@ -83,39 +87,39 @@ class Core { local_jump_table.Clear(); } - void JumpToLocalAnchorMatch(const tag_t& query) { + void JumpToLocalAnchorMatch(const tag_t& query) noexcept { const auto res { local_jump_table.MatchRegulated(query) }; if ( res.size() ) program_counter = local_jump_table.GetVal( res.front() ); } - inline auto& GetLocalJumpTable() { return local_jump_table; } + inline auto& GetLocalJumpTable() noexcept { return local_jump_table; } - inline auto& GetGlobalJumpTable(const size_t jt_idx=0) { + inline auto& GetGlobalJumpTable(const size_t jt_idx=0) noexcept { return global_jump_tables->at( jt_idx ); } - bool RequestFork(const tag_t& tag) { + bool RequestFork(const tag_t& tag) noexcept { return fork_requests.try_push_back( tag ); } - void ResetRegisters() { registers.fill( {} ); } + void ResetRegisters() noexcept { registers.fill( {} ); } - void SetRegisters(const registers_t& set) { registers = set; } + void SetRegisters(const registers_t& set) noexcept { registers = set; } - const registers_t& GetRegisters() { return registers; } + const registers_t& GetRegisters() noexcept { return registers; } - void Reset() { + void Reset() noexcept { fork_requests.clear(); ResetRegisters(); local_jump_table.Clear(); program_counter = 0; } - void SetGlobalJumpTables(global_jump_table_array_t& j_tables) { + void SetGlobalJumpTables(global_jump_table_array_t& j_tables) noexcept { global_jump_tables = &j_tables; } - void DecayRegulators() { local_jump_table.DecayRegulators(); } + void DecayRegulators() noexcept { local_jump_table.DecayRegulators(); } }; diff --git a/include/sgpl/hardware/Cpu.hpp b/include/sgpl/hardware/Cpu.hpp index 4506283a..d869ed13 100644 --- a/include/sgpl/hardware/Cpu.hpp +++ b/include/sgpl/hardware/Cpu.hpp @@ -37,7 +37,7 @@ class Cpu { using tag_t = typename Spec::tag_t; - void RefreshCoreGlobalJumpTablePtrs() { + void RefreshCoreGlobalJumpTablePtrs() noexcept { for (size_t i{}; i < data.scheduler.GetCapacity(); ++i) { data.scheduler.GetBuffer()[i].SetGlobalJumpTables( data.global_jump_tables @@ -48,10 +48,12 @@ class Cpu { public: /// Default constructor. - Cpu() { RefreshCoreGlobalJumpTablePtrs(); } + Cpu() noexcept { RefreshCoreGlobalJumpTablePtrs(); } /// Copy constructor. - Cpu(const Cpu& other) : data(other.data) { RefreshCoreGlobalJumpTablePtrs(); } + Cpu(const Cpu& other) noexcept : data(other.data) { + RefreshCoreGlobalJumpTablePtrs(); + } /// Move constructor. Cpu(Cpu&& other) noexcept : data( std::move(other.data) ) { @@ -59,7 +61,7 @@ class Cpu { } /// Copy assignment operator. - Cpu& operator=(const Cpu& other) { return *this = Cpu(other); } + Cpu& operator=(const Cpu& other) noexcept { return *this = Cpu(other); } /// Move assignment operator. Cpu& operator=(Cpu&& other) noexcept { @@ -67,39 +69,39 @@ class Cpu { return *this; } - void ActivateNextCore() { + void ActivateNextCore() noexcept { emp_assert( GetNumBusyCores() ); ++data.active_core_idx %= GetNumBusyCores(); } - bool TryActivateNextCore() { + bool TryActivateNextCore() noexcept { if ( HasActiveCore() ) { ActivateNextCore(); return true; } else { emp_assert( data.active_core_idx == 0 ); return false; } } - void ActivatePrevCore() { + void ActivatePrevCore() noexcept { emp_assert( GetNumBusyCores() ); data.active_core_idx += GetNumBusyCores() - 1; data.active_core_idx %= GetNumBusyCores(); } - bool TryActivatePrevCore() { + bool TryActivatePrevCore() noexcept { if ( HasActiveCore() ) { ActivatePrevCore(); return true; } else { emp_assert( data.active_core_idx == 0 ); return false; } } __attribute__ ((hot)) - core_t& GetActiveCore() { + core_t& GetActiveCore() noexcept { emp_assert( HasActiveCore() ); return data.scheduler.Get( data.active_core_idx ); }; - core_t& GetFreshestCore() { + core_t& GetFreshestCore() noexcept { emp_assert( HasActiveCore() ); return data.scheduler.GetHead(); }; - void KillActiveCore() { + void KillActiveCore() noexcept { emp_assert( HasActiveCore() ); for ( const auto& req : GetActiveCore().fork_requests ) { if ( !TryLaunchCore(req) ) break; @@ -108,66 +110,66 @@ class Cpu { TryActivatePrevCore(); } - void KillStaleCore() { + void KillStaleCore() noexcept { emp_assert( !HasFreeCore() ); data.scheduler.ReleaseTail(); // no need to activate prev core, killed core is idx 0 } - void DoLaunchCore() { + void DoLaunchCore() noexcept { emp_assert( HasFreeCore() ); auto& acquired = data.scheduler.Acquire(); acquired.Reset(); } - bool TryLaunchCore() { + bool TryLaunchCore() noexcept { if ( ! HasFreeCore() ) return false; else { DoLaunchCore(); return true; } } - void ForceLaunchCore() { + void ForceLaunchCore() noexcept { if ( ! HasFreeCore() ) KillStaleCore(); DoLaunchCore(); } - void DoLaunchCore( const tag_t& tag, const size_t jt_idx=0 ) { + void DoLaunchCore( const tag_t& tag, const size_t jt_idx=0 ) noexcept { emp_assert( HasFreeCore() ); auto& acquired = data.scheduler.Acquire(); acquired.Reset(); acquired.JumpToGlobalAnchorMatch( tag, jt_idx ); } - bool TryLaunchCore( const tag_t& tag, const size_t jt_idx=0 ) { + bool TryLaunchCore( const tag_t& tag, const size_t jt_idx=0 ) noexcept { if ( ! HasFreeCore() ) return false; else { DoLaunchCore( tag, jt_idx ); return true; } } - void ForceLaunchCore( const tag_t& tag, const size_t jt_idx=0 ) { + void ForceLaunchCore( const tag_t& tag, const size_t jt_idx=0 ) noexcept { if ( ! HasFreeCore() ) KillStaleCore(); DoLaunchCore( tag, jt_idx ); } - size_t GetNumBusyCores() const { return data.scheduler.GetSize(); } + size_t GetNumBusyCores() const noexcept { return data.scheduler.GetSize(); } - size_t GetNumFreeCores() const { + size_t GetNumFreeCores() const noexcept { return data.scheduler.GetAvailableCapacity(); } - size_t GetMaxCores() const { return data.scheduler.GetCapacity(); } + size_t GetMaxCores() const noexcept { return data.scheduler.GetCapacity(); } __attribute__ ((hot)) - bool HasActiveCore() const { return GetNumBusyCores(); } + bool HasActiveCore() const noexcept { return GetNumBusyCores(); } __attribute__ ((hot)) - bool HasFreeCore() const { return GetNumFreeCores(); } + bool HasFreeCore() const noexcept { return GetNumFreeCores(); } - void Reset() { + void Reset() noexcept { data.scheduler.Reset(); data.active_core_idx = {}; for ( auto& table : data.global_jump_tables ) table.Clear(); } - void InitializeAnchors(const sgpl::Program& program) { + void InitializeAnchors(const sgpl::Program& program) noexcept { Reset(); for( size_t i{}; i < data.global_jump_tables.size() ; ++i ) { data.global_jump_tables[i].InitializeGlobalAnchors( @@ -177,21 +179,25 @@ class Cpu { } } - const core_t& GetCore( const size_t idx ) const { + const core_t& GetCore( const size_t idx ) const noexcept { return data.scheduler.Get( idx ); } - const global_jump_table_t& GetGlobalJumpTable( const size_t idx=0 ) const { + const global_jump_table_t& GetGlobalJumpTable( const size_t idx=0 ) + const noexcept + { return data.global_jump_tables[ idx ]; } - void DecayGlobalRegulators() { + void DecayGlobalRegulators() noexcept { for ( auto& gjt : data.global_jump_tables ) gjt.DecayRegulators(); } - void AdvanceCycleClock(const size_t amt) { data.lifetime_cycle_clock += amt; } + void AdvanceCycleClock(const size_t amt) noexcept { + data.lifetime_cycle_clock += amt; + } - size_t GetCyclesSinceConstruction() const { + size_t GetCyclesSinceConstruction() const noexcept { return data.lifetime_cycle_clock; } diff --git a/include/sgpl/hardware/JumpTable.hpp b/include/sgpl/hardware/JumpTable.hpp index e8417879..80678287 100644 --- a/include/sgpl/hardware/JumpTable.hpp +++ b/include/sgpl/hardware/JumpTable.hpp @@ -19,45 +19,55 @@ struct JumpTable { using program_t = sgpl::Program; using uid_t = size_t; - inline auto MatchRaw( const tag_t & query ) { + inline auto MatchRaw( const tag_t & query ) noexcept { return match_bin.MatchRaw(query); } - inline auto MatchRegulated( const tag_t & query ) { + inline auto MatchRegulated( const tag_t & query ) noexcept { return match_bin.MatchRegulated(query); } - inline void SetRegulator( const uid_t uid, const float set ) { + inline void SetRegulator( const uid_t uid, const float set ) noexcept { match_bin.SetRegulator(uid, set); } - inline void AdjRegulator( const uid_t uid, const float set ) { + inline void AdjRegulator( const uid_t uid, const float set ) noexcept { match_bin.AdjRegulator(uid, set); } - inline void DecayRegulator( const uid_t uid, const float amt ) { + inline void DecayRegulator( const uid_t uid, const float amt ) noexcept { match_bin.DecayRegulator(uid, amt); } - inline float ViewRegulator(const uid_t uid) const { + inline float ViewRegulator(const uid_t uid) const noexcept { return match_bin.ViewRegulator(uid); } - inline void DecayRegulators() { match_bin.DecayRegulators(); } + inline void DecayRegulators() noexcept { match_bin.DecayRegulators(); } - inline uid_t GetUid(const tag_t tag) const { return match_bin.GetUid(tag); } + inline uid_t GetUid(const tag_t tag) const noexcept { + return match_bin.GetUid(tag); + } - inline uid_t GetUid(const size_t pos) const { return match_bin.GetUid(pos); } + inline uid_t GetUid(const size_t pos) const noexcept { + return match_bin.GetUid(pos); + } - inline auto GetVal(const uid_t uid) const { return match_bin.GetVal( uid ); } + inline auto GetVal(const uid_t uid) const noexcept { + return match_bin.GetVal( uid ); + } - inline bool HasVal(const size_t pos) const { return match_bin.HasVal( pos ); } + inline bool HasVal(const size_t pos) const noexcept { + return match_bin.HasVal( pos ); + } - inline void Clear() { match_bin.Clear(); } + inline void Clear() noexcept { match_bin.Clear(); } - inline size_t GetSize() const { return match_bin.GetSize(); } + inline size_t GetSize() const noexcept { return match_bin.GetSize(); } - void InitializeLocalAnchors(const program_t& prog, const size_t start_pos) { + void InitializeLocalAnchors( + const program_t& prog, const size_t start_pos + ) noexcept { Clear(); if ( prog.empty() ) return; const size_t prog_len{ prog.size() }; @@ -78,7 +88,7 @@ struct JumpTable { void InitializeGlobalAnchors( const sgpl::Program& program, const size_t inclusion_mod=1 - ) { + ) noexcept { Clear(); for (size_t pos{}; pos < program.size(); ++pos) { const auto& instruction = program[pos]; diff --git a/include/sgpl/library/OpLibrary.hpp b/include/sgpl/library/OpLibrary.hpp index c1ea21ad..60dfc540 100644 --- a/include/sgpl/library/OpLibrary.hpp +++ b/include/sgpl/library/OpLibrary.hpp @@ -24,7 +24,7 @@ struct OpLibrary : public std::tuple { inline static sgpl::OpLookup lookup_table; - constexpr static bool IsAnchorLocalOpCode(const size_t op_code) { + constexpr static bool IsAnchorLocalOpCode(const size_t op_code) noexcept { if constexpr ( uitsl::tuple_has_type::value @@ -38,7 +38,7 @@ struct OpLibrary : public std::tuple { } - constexpr static bool IsAnchorGlobalOpCode(const size_t op_code) { + constexpr static bool IsAnchorGlobalOpCode(const size_t op_code) noexcept { if constexpr ( uitsl::tuple_has_type::value @@ -52,17 +52,19 @@ struct OpLibrary : public std::tuple { } - static bool IsNopOpCode(const size_t op_code) { + static bool IsNopOpCode(const size_t op_code) noexcept { return GetOpName( op_code ).rfind("Nop-", 0) == 0; } - constexpr static bool IsAnchorOpCode( const size_t op_code ) { + constexpr static bool IsAnchorOpCode( const size_t op_code ) noexcept { return IsAnchorLocalOpCode( op_code ) || IsAnchorGlobalOpCode( op_code ); } - constexpr static size_t GetSize() { return std::tuple_size(); } + constexpr static size_t GetSize() noexcept { + return std::tuple_size(); + } template using Operation = typename std::tuple_element::type; diff --git a/include/sgpl/operations/actions/ForkIf.hpp b/include/sgpl/operations/actions/ForkIf.hpp index af18fdbf..adbe8375 100644 --- a/include/sgpl/operations/actions/ForkIf.hpp +++ b/include/sgpl/operations/actions/ForkIf.hpp @@ -23,7 +23,7 @@ struct ForkIf { const sgpl::Instruction& inst, const sgpl::Program& program, typename Spec::peripheral_t& - ) { + ) noexcept { if ( core.registers[ inst.args[0] ] ) core.RequestFork( inst.tag ); } diff --git a/include/sgpl/operations/actions/Nop.hpp b/include/sgpl/operations/actions/Nop.hpp index 62978f45..65aa59d5 100644 --- a/include/sgpl/operations/actions/Nop.hpp +++ b/include/sgpl/operations/actions/Nop.hpp @@ -24,7 +24,7 @@ struct Nop { const sgpl::Instruction& inst, const sgpl::Program& program, typename Spec::peripheral_t& - ) { + ) noexcept { for (size_t i{}; i < NumRngTouches; ++i ) { sgpl::tlrand.Get().StepEngine(); } diff --git a/include/sgpl/operations/actions/TerminateIf.hpp b/include/sgpl/operations/actions/TerminateIf.hpp index 825565b1..134f4600 100644 --- a/include/sgpl/operations/actions/TerminateIf.hpp +++ b/include/sgpl/operations/actions/TerminateIf.hpp @@ -22,7 +22,7 @@ struct TerminateIf { const sgpl::Instruction& inst, const sgpl::Program& program, typename Spec::peripheral_t& - ) { + ) noexcept { if ( core.registers[ inst.args[0] ] ) core.Terminate(); } diff --git a/include/sgpl/operations/binary/Add.hpp b/include/sgpl/operations/binary/Add.hpp index 04c42a93..a4d06629 100644 --- a/include/sgpl/operations/binary/Add.hpp +++ b/include/sgpl/operations/binary/Add.hpp @@ -22,7 +22,7 @@ struct Add { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] + core.registers[c]; } diff --git a/include/sgpl/operations/binary/Divide.hpp b/include/sgpl/operations/binary/Divide.hpp index 418eb880..8d0826d9 100644 --- a/include/sgpl/operations/binary/Divide.hpp +++ b/include/sgpl/operations/binary/Divide.hpp @@ -22,7 +22,7 @@ struct Divide { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; // division by zero allowed diff --git a/include/sgpl/operations/binary/Modulo.hpp b/include/sgpl/operations/binary/Modulo.hpp index 63e5285c..d8749236 100644 --- a/include/sgpl/operations/binary/Modulo.hpp +++ b/include/sgpl/operations/binary/Modulo.hpp @@ -22,7 +22,7 @@ struct Modulo { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; // TODO refactor this into a library call diff --git a/include/sgpl/operations/binary/Multiply.hpp b/include/sgpl/operations/binary/Multiply.hpp index 32a034e8..a74160cc 100644 --- a/include/sgpl/operations/binary/Multiply.hpp +++ b/include/sgpl/operations/binary/Multiply.hpp @@ -22,7 +22,7 @@ struct Multiply { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] * core.registers[c]; } diff --git a/include/sgpl/operations/binary/Subtract.hpp b/include/sgpl/operations/binary/Subtract.hpp index 1933ea86..0278c268 100644 --- a/include/sgpl/operations/binary/Subtract.hpp +++ b/include/sgpl/operations/binary/Subtract.hpp @@ -22,7 +22,7 @@ struct Subtract { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] - core.registers[c]; } diff --git a/include/sgpl/operations/bitwise/BitwiseAnd.hpp b/include/sgpl/operations/bitwise/BitwiseAnd.hpp index 18494181..495c3479 100644 --- a/include/sgpl/operations/bitwise/BitwiseAnd.hpp +++ b/include/sgpl/operations/bitwise/BitwiseAnd.hpp @@ -24,7 +24,7 @@ struct BitwiseAnd { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; std::transform( diff --git a/include/sgpl/operations/bitwise/BitwiseNot.hpp b/include/sgpl/operations/bitwise/BitwiseNot.hpp index 9bb8c779..ad3937cb 100644 --- a/include/sgpl/operations/bitwise/BitwiseNot.hpp +++ b/include/sgpl/operations/bitwise/BitwiseNot.hpp @@ -24,7 +24,7 @@ struct BitwiseNot { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1]; std::transform( diff --git a/include/sgpl/operations/bitwise/BitwiseOr.hpp b/include/sgpl/operations/bitwise/BitwiseOr.hpp index a27c2530..235e27c0 100644 --- a/include/sgpl/operations/bitwise/BitwiseOr.hpp +++ b/include/sgpl/operations/bitwise/BitwiseOr.hpp @@ -24,7 +24,7 @@ struct BitwiseOr { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; std::transform( diff --git a/include/sgpl/operations/bitwise/BitwiseShift.hpp b/include/sgpl/operations/bitwise/BitwiseShift.hpp index 9d541d70..c36377a7 100644 --- a/include/sgpl/operations/bitwise/BitwiseShift.hpp +++ b/include/sgpl/operations/bitwise/BitwiseShift.hpp @@ -25,7 +25,7 @@ struct BitwiseShift { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; static_assert( sizeof(core.registers[b]) <= sizeof(size_t) ); diff --git a/include/sgpl/operations/bitwise/BitwiseXor.hpp b/include/sgpl/operations/bitwise/BitwiseXor.hpp index 3ae179d5..ad3d7fbc 100644 --- a/include/sgpl/operations/bitwise/BitwiseXor.hpp +++ b/include/sgpl/operations/bitwise/BitwiseXor.hpp @@ -24,7 +24,7 @@ struct BitwiseXor { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; std::transform( diff --git a/include/sgpl/operations/bitwise/CountOnes.hpp b/include/sgpl/operations/bitwise/CountOnes.hpp index 2d3b3215..854eae8b 100644 --- a/include/sgpl/operations/bitwise/CountOnes.hpp +++ b/include/sgpl/operations/bitwise/CountOnes.hpp @@ -25,7 +25,7 @@ struct CountOnes { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1]; static_assert( sizeof(core.registers[a]) <= sizeof(size_t) ); diff --git a/include/sgpl/operations/bitwise/RandomFill.hpp b/include/sgpl/operations/bitwise/RandomFill.hpp index ecd49548..f21ac7fc 100644 --- a/include/sgpl/operations/bitwise/RandomFill.hpp +++ b/include/sgpl/operations/bitwise/RandomFill.hpp @@ -23,7 +23,7 @@ struct RandomFill { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { auto& target = core.registers[ inst.args[0] ]; diff --git a/include/sgpl/operations/comparison/Equal.hpp b/include/sgpl/operations/comparison/Equal.hpp index 1384ea65..07288193 100644 --- a/include/sgpl/operations/comparison/Equal.hpp +++ b/include/sgpl/operations/comparison/Equal.hpp @@ -22,7 +22,7 @@ struct Equal { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] == core.registers[c]; } diff --git a/include/sgpl/operations/comparison/GreaterThan.hpp b/include/sgpl/operations/comparison/GreaterThan.hpp index 0ffbaff2..1219b4f9 100644 --- a/include/sgpl/operations/comparison/GreaterThan.hpp +++ b/include/sgpl/operations/comparison/GreaterThan.hpp @@ -22,7 +22,7 @@ struct GreaterThan { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] > core.registers[c]; } diff --git a/include/sgpl/operations/comparison/LessThan.hpp b/include/sgpl/operations/comparison/LessThan.hpp index 83745c0c..5cbd67da 100644 --- a/include/sgpl/operations/comparison/LessThan.hpp +++ b/include/sgpl/operations/comparison/LessThan.hpp @@ -22,7 +22,7 @@ struct LessThan { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] < core.registers[c]; } diff --git a/include/sgpl/operations/comparison/LogicalAnd.hpp b/include/sgpl/operations/comparison/LogicalAnd.hpp index 2d011237..aa1eb6aa 100644 --- a/include/sgpl/operations/comparison/LogicalAnd.hpp +++ b/include/sgpl/operations/comparison/LogicalAnd.hpp @@ -22,7 +22,7 @@ struct LogicalAnd { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] && core.registers[c]; } diff --git a/include/sgpl/operations/comparison/LogicalOr.hpp b/include/sgpl/operations/comparison/LogicalOr.hpp index 5946d979..02b27dff 100644 --- a/include/sgpl/operations/comparison/LogicalOr.hpp +++ b/include/sgpl/operations/comparison/LogicalOr.hpp @@ -22,7 +22,7 @@ struct LogicalOr { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] || core.registers[c]; } diff --git a/include/sgpl/operations/comparison/NotEqual.hpp b/include/sgpl/operations/comparison/NotEqual.hpp index f3bca163..4e235ea9 100644 --- a/include/sgpl/operations/comparison/NotEqual.hpp +++ b/include/sgpl/operations/comparison/NotEqual.hpp @@ -22,7 +22,7 @@ struct NotEqual { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const size_t a = inst.args[0], b = inst.args[1], c = inst.args[2]; core.registers[a] = core.registers[b] != core.registers[c]; } diff --git a/include/sgpl/operations/flow_global/Anchor.hpp b/include/sgpl/operations/flow_global/Anchor.hpp index cb69481c..d7477b22 100644 --- a/include/sgpl/operations/flow_global/Anchor.hpp +++ b/include/sgpl/operations/flow_global/Anchor.hpp @@ -24,7 +24,7 @@ struct Anchor { const sgpl::Instruction& inst, const sgpl::Program& program, typename Spec::peripheral_t& peripheral - ) { + ) noexcept { if ( core.HasLocalAnchors() ) core.Terminate(); else core.LoadLocalAnchors( program ); } diff --git a/include/sgpl/operations/flow_global/JumpIf.hpp b/include/sgpl/operations/flow_global/JumpIf.hpp index e305d15c..e59efcbb 100644 --- a/include/sgpl/operations/flow_global/JumpIf.hpp +++ b/include/sgpl/operations/flow_global/JumpIf.hpp @@ -24,7 +24,7 @@ struct JumpIf { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { if ( core.registers[ inst.args[0] ] ) { core.JumpToGlobalAnchorMatch( inst.tag ); if ( core.registers[ inst.args[1] ] ) core.ResetRegisters(); diff --git a/include/sgpl/operations/flow_global/JumpIfNot.hpp b/include/sgpl/operations/flow_global/JumpIfNot.hpp index d986333b..c5423ec9 100644 --- a/include/sgpl/operations/flow_global/JumpIfNot.hpp +++ b/include/sgpl/operations/flow_global/JumpIfNot.hpp @@ -24,7 +24,7 @@ struct JumpIfNot { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { if ( !core.registers[ inst.args[0] ] ) { core.JumpToGlobalAnchorMatch( inst.tag ); if ( !core.registers[ inst.args[1] ] ) core.ResetRegisters(); diff --git a/include/sgpl/operations/flow_global/RegulatorAdj.hpp b/include/sgpl/operations/flow_global/RegulatorAdj.hpp index dc064266..344bb22b 100644 --- a/include/sgpl/operations/flow_global/RegulatorAdj.hpp +++ b/include/sgpl/operations/flow_global/RegulatorAdj.hpp @@ -25,7 +25,7 @@ struct RegulatorAdj { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { auto& jump_table = core.GetGlobalJumpTable( JUMP_TABLE_IDX ); for ( const auto uid : jump_table.MatchRaw(inst.tag) ) { diff --git a/include/sgpl/operations/flow_global/RegulatorDecay.hpp b/include/sgpl/operations/flow_global/RegulatorDecay.hpp index a2f83a06..46cff883 100644 --- a/include/sgpl/operations/flow_global/RegulatorDecay.hpp +++ b/include/sgpl/operations/flow_global/RegulatorDecay.hpp @@ -26,7 +26,7 @@ struct RegulatorDecay { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { auto& jump_table = core.GetGlobalJumpTable( JUMP_TABLE_IDX ); for ( const auto uid : jump_table.MatchRaw(inst.tag) ) { diff --git a/include/sgpl/operations/flow_global/RegulatorGet.hpp b/include/sgpl/operations/flow_global/RegulatorGet.hpp index 9dc7349b..de67d159 100644 --- a/include/sgpl/operations/flow_global/RegulatorGet.hpp +++ b/include/sgpl/operations/flow_global/RegulatorGet.hpp @@ -25,7 +25,7 @@ struct RegulatorGet { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { auto& jump_table = core.GetGlobalJumpTable( JUMP_TABLE_IDX ); for ( const auto uid : jump_table.MatchRaw(inst.tag) ) { diff --git a/include/sgpl/operations/flow_global/RegulatorSet.hpp b/include/sgpl/operations/flow_global/RegulatorSet.hpp index 8cbe895e..d96b49d4 100644 --- a/include/sgpl/operations/flow_global/RegulatorSet.hpp +++ b/include/sgpl/operations/flow_global/RegulatorSet.hpp @@ -25,7 +25,7 @@ struct RegulatorSet { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { auto& jump_table = core.GetGlobalJumpTable( JUMP_TABLE_IDX ); for ( const auto uid : jump_table.MatchRaw(inst.tag) ) { diff --git a/include/sgpl/operations/flow_local/Anchor.hpp b/include/sgpl/operations/flow_local/Anchor.hpp index c84625ce..ab1453f5 100644 --- a/include/sgpl/operations/flow_local/Anchor.hpp +++ b/include/sgpl/operations/flow_local/Anchor.hpp @@ -24,7 +24,7 @@ struct Anchor { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { ; } + ) noexcept { ; } static std::string name() { return "Local Anchor"; } diff --git a/include/sgpl/operations/flow_local/JumpIf.hpp b/include/sgpl/operations/flow_local/JumpIf.hpp index d4ce9153..3afbd63b 100644 --- a/include/sgpl/operations/flow_local/JumpIf.hpp +++ b/include/sgpl/operations/flow_local/JumpIf.hpp @@ -24,7 +24,7 @@ struct JumpIf { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { if ( core.registers[ inst.args[0] ] ) { core.JumpToLocalAnchorMatch( inst.tag ); } diff --git a/include/sgpl/operations/flow_local/JumpIfNot.hpp b/include/sgpl/operations/flow_local/JumpIfNot.hpp index 13f0aade..2f3f1faf 100644 --- a/include/sgpl/operations/flow_local/JumpIfNot.hpp +++ b/include/sgpl/operations/flow_local/JumpIfNot.hpp @@ -24,7 +24,7 @@ struct JumpIfNot { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { if ( !core.registers[ inst.args[0] ] ) { core.JumpToLocalAnchorMatch( inst.tag ); } diff --git a/include/sgpl/operations/flow_local/RegulatorAdj.hpp b/include/sgpl/operations/flow_local/RegulatorAdj.hpp index 7c4981bd..6c43ec48 100644 --- a/include/sgpl/operations/flow_local/RegulatorAdj.hpp +++ b/include/sgpl/operations/flow_local/RegulatorAdj.hpp @@ -24,7 +24,7 @@ struct RegulatorAdj { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { for ( const auto uid : core.GetLocalJumpTable().MatchRaw(inst.tag) ) { core.GetLocalJumpTable().AdjRegulator( diff --git a/include/sgpl/operations/flow_local/RegulatorDecay.hpp b/include/sgpl/operations/flow_local/RegulatorDecay.hpp index d0fc8ee5..0874a588 100644 --- a/include/sgpl/operations/flow_local/RegulatorDecay.hpp +++ b/include/sgpl/operations/flow_local/RegulatorDecay.hpp @@ -25,7 +25,7 @@ struct RegulatorDecay { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { for ( const auto uid : core.GetLocalJumpTable().MatchRaw(inst.tag) ) { core.GetLocalJumpTable().DecayRegulator( diff --git a/include/sgpl/operations/flow_local/RegulatorGet.hpp b/include/sgpl/operations/flow_local/RegulatorGet.hpp index a8172d7a..b9c86e44 100644 --- a/include/sgpl/operations/flow_local/RegulatorGet.hpp +++ b/include/sgpl/operations/flow_local/RegulatorGet.hpp @@ -24,7 +24,7 @@ struct RegulatorGet { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { for ( const auto uid : core.GetLocalJumpTable().MatchRaw(inst.tag) ) { // (+) values down regulate diff --git a/include/sgpl/operations/flow_local/RegulatorSet.hpp b/include/sgpl/operations/flow_local/RegulatorSet.hpp index de399bd4..7495d39a 100644 --- a/include/sgpl/operations/flow_local/RegulatorSet.hpp +++ b/include/sgpl/operations/flow_local/RegulatorSet.hpp @@ -24,7 +24,7 @@ struct RegulatorSet { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { for ( const auto uid : core.GetLocalJumpTable().MatchRaw(inst.tag) ) { // (+) values down regulate diff --git a/include/sgpl/operations/unary/Decrement.hpp b/include/sgpl/operations/unary/Decrement.hpp index ecd9d417..97b7ec7f 100644 --- a/include/sgpl/operations/unary/Decrement.hpp +++ b/include/sgpl/operations/unary/Decrement.hpp @@ -22,7 +22,7 @@ struct Decrement { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { --core.registers[ inst.args[0] ]; } diff --git a/include/sgpl/operations/unary/Increment.hpp b/include/sgpl/operations/unary/Increment.hpp index 1ef1a157..1f4c97f4 100644 --- a/include/sgpl/operations/unary/Increment.hpp +++ b/include/sgpl/operations/unary/Increment.hpp @@ -22,7 +22,7 @@ struct Increment { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { ++core.registers[ inst.args[0] ]; } diff --git a/include/sgpl/operations/unary/Negate.hpp b/include/sgpl/operations/unary/Negate.hpp index 0e489c64..80b11066 100644 --- a/include/sgpl/operations/unary/Negate.hpp +++ b/include/sgpl/operations/unary/Negate.hpp @@ -22,7 +22,7 @@ struct Negate { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { core.registers[ inst.args[0] ] = -core.registers[ inst.args[0] ]; } diff --git a/include/sgpl/operations/unary/Not.hpp b/include/sgpl/operations/unary/Not.hpp index 2e887eb2..4e7718c2 100644 --- a/include/sgpl/operations/unary/Not.hpp +++ b/include/sgpl/operations/unary/Not.hpp @@ -22,7 +22,7 @@ struct Not { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { core.registers[ inst.args[0] ] = !core.registers[ inst.args[0] ]; } diff --git a/include/sgpl/operations/unary/RandomBool.hpp b/include/sgpl/operations/unary/RandomBool.hpp index 7c7bb7e5..eb86f6bd 100644 --- a/include/sgpl/operations/unary/RandomBool.hpp +++ b/include/sgpl/operations/unary/RandomBool.hpp @@ -18,7 +18,7 @@ namespace sgpl { class RandomBool { template - static double map_to_unit( const typename Spec::tag_t& tag ) { + static double map_to_unit( const typename Spec::tag_t& tag ) noexcept { constexpr double max_double = Spec::tag_t::MaxDouble(); @@ -34,7 +34,7 @@ class RandomBool { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { const double p = map_to_unit( inst.tag ); diff --git a/include/sgpl/operations/unary/RandomDraw.hpp b/include/sgpl/operations/unary/RandomDraw.hpp index 02326e12..4ceedd0c 100644 --- a/include/sgpl/operations/unary/RandomDraw.hpp +++ b/include/sgpl/operations/unary/RandomDraw.hpp @@ -18,7 +18,9 @@ namespace sgpl { class RandomDraw { template - static double map_between_plusminus_one( const typename Spec::tag_t& tag ) { + static double map_between_plusminus_one( + const typename Spec::tag_t& tag + ) noexcept { constexpr double max = 1.0; constexpr double min = -1.0; @@ -29,7 +31,9 @@ class RandomDraw { } template - static bool is_odd(const typename Spec::tag_t& tag) { return tag.Get(0); } + static bool is_odd(const typename Spec::tag_t& tag) noexcept { + return tag.Get(0); + } static double map_up( const double plusminus_unit_val ) { emp_assert( plusminus_unit_val != 0 ); @@ -41,7 +45,7 @@ class RandomDraw { } template - static float map_draw() { + static float map_draw() noexcept { const typename Spec::tag_t tag( sgpl::tlrand.Get() ); return is_odd( tag ) ? map_up( map_between_plusminus_one(tag) ) @@ -57,7 +61,7 @@ class RandomDraw { const sgpl::Instruction& inst, const sgpl::Program&, typename Spec::peripheral_t& - ) { + ) noexcept { core.registers[ inst.args[0] ] = map_draw(); } diff --git a/include/sgpl/operations/unary/Terminal.hpp b/include/sgpl/operations/unary/Terminal.hpp index f591ef59..1204c3d7 100644 --- a/include/sgpl/operations/unary/Terminal.hpp +++ b/include/sgpl/operations/unary/Terminal.hpp @@ -17,7 +17,9 @@ namespace sgpl { class Terminal { template - static double map_between_plusminus_one( const typename Spec::tag_t& tag ) { + static double map_between_plusminus_one( + const typename Spec::tag_t& tag + ) noexcept { constexpr double max = 1.0; constexpr double min = -1.0; @@ -28,9 +30,11 @@ class Terminal { } template - static bool is_odd(const typename Spec::tag_t& tag) { return tag.Get(0); } + static bool is_odd(const typename Spec::tag_t& tag) noexcept { + return tag.Get(0); + } - static double map_up( const double plusminus_unit_val ) { + static double map_up( const double plusminus_unit_val ) noexcept { emp_assert( plusminus_unit_val != 0 ); return 1.0 / ( @@ -40,7 +44,7 @@ class Terminal { } template - static float map_tag( const typename Spec::tag_t& tag ) { + static float map_tag( const typename Spec::tag_t& tag ) noexcept { return is_odd( tag ) ? map_up( map_between_plusminus_one(tag) ) : map_between_plusminus_one( tag ) diff --git a/include/sgpl/program/Instruction.hpp b/include/sgpl/program/Instruction.hpp index 30a99144..2ec0164d 100644 --- a/include/sgpl/program/Instruction.hpp +++ b/include/sgpl/program/Instruction.hpp @@ -56,9 +56,9 @@ struct Instruction { if ( !library_t::IsAnchorOpCode( op_code ) ) NopOut(); } - bool IsNop() const { return library_t::IsNopOpCode( op_code ); } + bool IsNop() const noexcept { return library_t::IsNopOpCode( op_code ); } - bool IsOp() const { return !IsNop(); } + bool IsOp() const noexcept { return !IsNop(); } bool operator==(const Instruction& other) const { return ( @@ -76,7 +76,7 @@ struct Instruction { std::string GetOpName() const { return library_t::GetOpName(op_code); } - const tag_t& GetTag() const { return tag; } + const tag_t& GetTag() const noexcept { return tag; } auto GetDescriptors() const { return library_t::template GetOpDescriptors< Instruction >(op_code, *this); diff --git a/joss/figures/max-fitness-log2.pdf b/joss/figures/max-fitness-log2.pdf new file mode 100644 index 00000000..b8238bd2 Binary files /dev/null and b/joss/figures/max-fitness-log2.pdf differ diff --git a/joss/figures/max-fitness-log2.png b/joss/figures/max-fitness-log2.png new file mode 100644 index 00000000..1c9a33f4 Binary files /dev/null and b/joss/figures/max-fitness-log2.png differ diff --git a/joss/figures/max-fitness-sd.pdf b/joss/figures/max-fitness-sd.pdf new file mode 100644 index 00000000..b47b68d3 Binary files /dev/null and b/joss/figures/max-fitness-sd.pdf differ diff --git a/joss/figures/max-fitness-sd.png b/joss/figures/max-fitness-sd.png new file mode 100644 index 00000000..f34e9237 Binary files /dev/null and b/joss/figures/max-fitness-sd.png differ diff --git a/joss/figures/raw-timings.pdf b/joss/figures/raw-timings.pdf new file mode 100644 index 00000000..ad526872 Binary files /dev/null and b/joss/figures/raw-timings.pdf differ diff --git a/joss/figures/raw-timings.png b/joss/figures/raw-timings.png new file mode 100644 index 00000000..1d5003b3 Binary files /dev/null and b/joss/figures/raw-timings.png differ diff --git a/joss/figures/solution-time-boxplot.pdf b/joss/figures/solution-time-boxplot.pdf new file mode 100644 index 00000000..d7ca1bcf Binary files /dev/null and b/joss/figures/solution-time-boxplot.pdf differ diff --git a/joss/figures/solution-time-boxplot.png b/joss/figures/solution-time-boxplot.png new file mode 100644 index 00000000..b5cab02c Binary files /dev/null and b/joss/figures/solution-time-boxplot.png differ diff --git a/joss/figures/solution-time-contextual-signal.pdf b/joss/figures/solution-time-contextual-signal.pdf new file mode 100644 index 00000000..5766d16f Binary files /dev/null and b/joss/figures/solution-time-contextual-signal.pdf differ diff --git a/joss/figures/solution-time-contextual-signal.png b/joss/figures/solution-time-contextual-signal.png new file mode 100644 index 00000000..72143189 Binary files /dev/null and b/joss/figures/solution-time-contextual-signal.png differ diff --git a/joss/figures/solution-time-swarmplot.pdf b/joss/figures/solution-time-swarmplot.pdf new file mode 100644 index 00000000..49bb5675 Binary files /dev/null and b/joss/figures/solution-time-swarmplot.pdf differ diff --git a/joss/figures/solution-time-swarmplot.png b/joss/figures/solution-time-swarmplot.png new file mode 100644 index 00000000..8ab132c4 Binary files /dev/null and b/joss/figures/solution-time-swarmplot.png differ diff --git a/joss/figures/wall-time-speedup.pdf b/joss/figures/wall-time-speedup.pdf new file mode 100644 index 00000000..f26edf48 Binary files /dev/null and b/joss/figures/wall-time-speedup.pdf differ diff --git a/joss/figures/wall-time-speedup.png b/joss/figures/wall-time-speedup.png new file mode 100644 index 00000000..cf4a72d6 Binary files /dev/null and b/joss/figures/wall-time-speedup.png differ diff --git a/joss/paper.bib b/joss/paper.bib new file mode 100644 index 00000000..a7cadbeb --- /dev/null +++ b/joss/paper.bib @@ -0,0 +1,231 @@ +@article{Pearson:2017, + url = {http://adsabs.harvard.edu/abs/2017arXiv170304627P}, + Archiveprefix = {arXiv}, + Author = {{Pearson}, S. and {Price-Whelan}, A.~M. and {Johnston}, K.~V.}, + Eprint = {1703.04627}, + Journal = {ArXiv e-prints}, + Keywords = {Astrophysics - Astrophysics of Galaxies}, + Month = mar, + Title = {{Gaps in Globular Cluster Streams: Pal 5 and the Galactic Bar}}, + Year = 2017 +} + +@book{Binney:2008, + url = {http://adsabs.harvard.edu/abs/2008gady.book.....B}, + Author = {{Binney}, J. and {Tremaine}, S.}, + Booktitle = {Galactic Dynamics: Second Edition, by James Binney and Scott Tremaine.~ISBN 978-0-691-13026-2 (HB).~Published by Princeton University Press, Princeton, NJ USA, 2008.}, + Publisher = {Princeton University Press}, + Title = {{Galactic Dynamics: Second Edition}}, + Year = 2008 +} + +@article{gaia, + author = {{Gaia Collaboration}}, + title = "{The Gaia mission}", + journal = {Astronomy and Astrophysics}, + archivePrefix = "arXiv", + eprint = {1609.04153}, + primaryClass = "astro-ph.IM", + keywords = {space vehicles: instruments, Galaxy: structure, astrometry, parallaxes, proper motions, telescopes}, + year = 2016, + month = nov, + volume = 595, + doi = {10.1051/0004-6361/201629272}, + url = {http://adsabs.harvard.edu/abs/2016A%26A...595A...1G}, +} + +@article{astropy, + author = {{Astropy Collaboration}}, + title = "{Astropy: A community Python package for astronomy}", + journal = {Astronomy and Astrophysics}, + archivePrefix = "arXiv", + eprint = {1307.6212}, + primaryClass = "astro-ph.IM", + keywords = {methods: data analysis, methods: miscellaneous, virtual observatory tools}, + year = 2013, + month = oct, + volume = 558, + doi = {10.1051/0004-6361/201322068}, + url = {http://adsabs.harvard.edu/abs/2013A%26A...558A..33A} +} + +@misc{fidgit, + author = {A. Smith}, + title = {Fidgit: An ungodly union of GitHub and Figshare}, + year = {2020}, + publisher = {GitHub}, + journal = {GitHub repository}, + url = {https://github.com/arfon/fidgit} +} + +@inproceedings{lalejini2018evolving, + title={Evolving event-driven programs with SignalGP}, + author={Lalejini, Alexander and Ofria, Charles}, + booktitle={Proceedings of the Genetic and Evolutionary Computation Conference}, + pages={1135--1142}, + year={2018} +} + +@article{skadron1999branch, + title={Branch prediction, instruction-window size, and cache size: Performance trade-offs and simulation techniques}, + author={Skadron, Kevin and Ahuja, Pritpal S and Martonosi, Margaret and Clark, Douglas W}, + journal={IEEE Transactions on Computers}, + volume={48}, + number={11}, + pages={1260--1281}, + year={1999}, + publisher={IEEE} +} + +@misc{moreno2021exploring, + title={Exploring Evolved Multicellular Life Histories in a Open-Ended Digital Evolution System}, + author={Matthew Andres Moreno and Charles Ofria}, + year={2021}, + eprint={2104.10081}, + archivePrefix={arXiv}, + primaryClass={q-bio.PE} +} + +@article{moreno2019toward, + title={Toward open-ended fraternal transitions in individuality}, + author={Moreno, Matthew Andres and Ofria, Charles}, + journal={Artificial life}, + volume={25}, + number={2}, + pages={117--133}, + year={2019}, + publisher={MIT Press} +} + +@article{lalejini_tag-based_2021, + title = {Tag-based regulation of modules in genetic programming improves context-dependent problem solving}, + copyright = {All rights reserved}, + issn = {1389-2576, 1573-7632}, + url = {https://link.springer.com/10.1007/s10710-021-09406-8}, + doi = {10.1007/s10710-021-09406-8}, + language = {en}, + urldate = {2021-07-10}, + journal = {Genetic Programming and Evolvable Machines}, + author = {Lalejini, Alexander and Moreno, Matthew Andres and Ofria, Charles}, + month = jul, + year = {2021}, +} + +@article{ofria2004avida, + title={Avida: A software platform for research in computational evolutionary biology}, + author={Ofria, Charles and Wilke, Claus O}, + journal={Artificial life}, + volume={10}, + number={2}, + pages={191--229}, + year={2004}, + publisher={MIT Press} +} + +@misc{Moreno_2020, + title={Profiling Foundations for Scalable Digital Evolution Methods}, + url={osf.io/tcjfy}, + DOI={10.17605/OSF.IO/TCJFY}, + publisher={OSF}, + author={Moreno, Matthew A}, + year={2020}, + month={Jul} +} + +@inproceedings{spector2012assessment, + title={Assessment of problem modality by differential performance of lexicase selection in genetic programming: a preliminary report}, + author={Spector, Lee}, + booktitle={Proceedings of the 14th annual conference companion on Genetic and evolutionary computation}, + pages={401--408}, + year={2012} +} + +@inproceedings{moreno2021case, + author = {Moreno, Matthew A and Rodriguez Papa, Santiago and Ofria, Charles}, + title = {Case Study of Novelty, Complexity, and Adaptation in a Multicellular System}, + year = {2021}, + maintitle = {The 2021 Conference on Artificial Life}, + booktitle = {OEE4: The Fourth Workshop on Open-Ended Evolution}, +} + +@article{gunawardena2014models, + title={Models in biology:‘accurate descriptions of our pathetic thinking’}, + author={Gunawardena, Jeremy}, + journal={BMC biology}, + volume={12}, + number={1}, + pages={1--11}, + year={2014}, + publisher={BioMed Central} +} + +@article{mogilner2006quantitative, + title={Quantitative modeling in cell biology: what is it good for?}, + author={Mogilner, Alex and Wollman, Roy and Marshall, Wallace F}, + journal={Developmental cell}, + volume={11}, + number={3}, + pages={279--287}, + year={2006}, + publisher={Elsevier} +} + +@article{schuster2011mathematical, + title={Mathematical modeling of evolution. Solved and open problems}, + author={Schuster, Peter}, + journal={Theory in Biosciences}, + volume={130}, + number={1}, + pages={71--89}, + year={2011}, + publisher={Springer} +} + +@article{pennock2007models, + title={Models, simulations, instantiations, and evidence: the case of digital evolution}, + author={Pennock, Robert T}, + journal={Journal of Experimental \& Theoretical Artificial Intelligence}, + volume={19}, + number={1}, + pages={29--42}, + year={2007}, + publisher={Taylor \& Francis} +} + +@article{shanken1998life, + title={Life as we know it and/or life as it could be: Epistemology and the ontology/ontogeny of artificial life}, + author={Shanken, Edward A}, + journal={Leonardo}, + pages={383--388}, + year={1998}, + publisher={JSTOR} +} + +@article{dittrich2001artificial, + title={Artificial chemistries—a review}, + author={Dittrich, Peter and Ziegler, Jens and Banzhaf, Wolfgang}, + journal={Artificial life}, + volume={7}, + number={3}, + pages={225--275}, + year={2001}, + publisher={MIT Press} +} + +@article{ofria2004avida, + title={Avida: A software platform for research in computational evolutionary biology}, + author={Ofria, Charles and Wilke, Claus O}, + journal={Artificial life}, + volume={10}, + number={2}, + pages={191--229}, + year={2004}, + publisher={MIT Press} +} + +@book{banzhaf1998genetic, + title={Genetic programming: an introduction: on the automatic evolution of computer programs and its applications}, + author={Banzhaf, Wolfgang and Nordin, Peter and Keller, Robert E and Francone, Frank D}, + year={1998}, + publisher={Morgan Kaufmann Publishers Inc.} +} diff --git a/joss/paper.md b/joss/paper.md new file mode 100644 index 00000000..e2e21e27 --- /dev/null +++ b/joss/paper.md @@ -0,0 +1,1245 @@ +--- +title: 'SignalGP-Lite: Event Driven Genetic Programming Library for Large-Scale Artificial Life Applications' +tags: + - C++ + - artificial life + - genetic programming + - event driven +authors: + - name: Matthew Andres Moreno + orcid: 0000-0003-4726-4479 + affiliation: 1 + - name: Santiago Rodriguez Papa + orcid: 0000-0002-6028-2105 + affiliation: 1 + - name: Alexander Lalejini + orcid: 0000-0003-0994-2718 + affiliation: 2 + - name: Charles Ofria + orcid: 0000-0003-2924-1732 +affiliations: + - name: Michigan State University + index: 1 + - name: University of Michigan + index: 2 +date: 31 May 2021 +bibliography: paper.bib +--- + +# Abstract + +Event-driven genetic programming representations have been shown to outperform traditional imperative representations on interaction-intensive problems. +The event-driven approach organizes genome content into modules that are triggered in response to environmental signals, simplifying simulation design and implementation. +Existing work developing event-driven genetic programming methodology has largely used the SignalGP framework, which caters to traditional program synthesis applications. +The SignalGP-Lite library provides a specialized implementation of the SignalGP framework that caters to multi-agent applications, especially those characteristic of artificial life research. +SignalGP-Lite enables larger-scale artificial life experiments by streamlining agents through simplified control flow and reduced run-time configuration flexibility (in favor of better-performing compile-time configuration). +Here, we report benchmarking experiments that show an 8x to 30x speedup over original SignalGP implementations. +We also report solution quality equivalent to SignalGP on two benchmark problems originally developed to test the ability of evolved programs to respond to a large number of signals and to modulate signal response based on context. + +# Summary + +Genetic programming applies the principles of evolution to automatically synthesize computer programs rather than writing them by hand [@banzhaf1998genetic]. +Often genetic programming is used to synthesize _imperative_ programs where a single chain of execution directly manages every aspect of the program. +SignalGP is an existing genetic programming framework for evolving _event-driven_ computer programs where programs trigger event handlers (i.e., program modules) in response to signals that are generated internally, externally from other agents, or externally from the environment [@lalejini2018evolving]. +Such event-driven representations outperform traditional imperative genetic programming on interaction intensive problems where the evolved programs must handle inputs from the environment or from other agents, as is the case in distributed computing problem domains and many artificial life simulations. + +SignalGP-Lite is a C++ library for event-driven genetic programming. +In comparison to existing implementations of SignalGP, which are intended for general event-driven genetic programming, SignalGP-Lite is tailored for use in artificial life experiments. +Here, we benchmark the virtual machine model and underlying computational implementation SignalGP-Lite relative to SignalGP. +In "Execution Speed Benchmarking," we report compute times for both SignalGP and SignalGP-Lite using synthetic benchmarks---benchmarks that designed with reproducibility and accuracy in mind, but that might not reflect real-world problems. +In "Test Problem Benchmarking," we compare solution quality of SignalGP and SignalGP-Lite on simple genetic programming problems designed to test responsivity and plasticity. + +# Statement of need + +Mathematical and computational constructs modeling hypotheseses of biological reality advance life science by translating assumptions underlying those hypotheses into falsifiable predictions [@gunawardena2014models]. +Such models traditionally represent mechanisms of biology in a direct, often physical, sense --- explicitly modeling, for example, biochemical oscillations or population counts within a species [@mogilner2006quantitative, @schuster2011mathematical]. +In contrast, artificial life systems ply unfamiliar substrates such as self-replicating computer programs or set-theoretic artificial chemistries that lack a direct analog in the natural world [@ofria2004avida; @dittrich2001artificial]. +Although artificial life substrates are not directly descriptive of physical reality *per se*, research interest stems instead from their capacities to instantiate fundamental abstract processes core to biological life, such as evolution, and their capacity to exhibit fundamental abstract properties of biological life, such as plasticity. +(Whether artificial life systems are best conceived of as models or as alternate instances of "life as it could be" haunts perennial philosophical interest [@shanken1998life; @pennock2007models].) + +Despite being able to simulate evolution with much faster generational turnover than is possible in biological experiments [@ofria2004avida], the scale of digital artificial life populations is profoundly limited by available computational resources [@Moreno_2020]. +Large population sizes are essential to studying fundamental evolutionary phenomena such as ecologies, the transition to multicellularity, and rare events. +In conjunction with parallel and distributed computing, computational efficiency is crucial to achieving larger-scale artificial life simulations. + +In comparison to SignalGP --- which was designed to target generic genetic programming problems --- SignalGP-Lite fills a niche for interaction-heavy genetic programming applications that can tolerate less runtime configuration flexibility and pared-back control flow. +SignalGP-Lite is designed with artificial life experiments in mind, where simulation parameters need not change during execution and a more rudimentary approach to control flow can often be tolerated. + +In addition, SignalGP-Lite specially emphasizes accessibility for re-use and extension by the broader research community. +To ensure reliability and usability, and we provide documentation via ReadTheDocs, test source code via continuous integration, benchmark performance critical components, and cater to custom extensions of the instruction set and virtual hardware. + +The library has enabled order-of-magnitude scale-up of existing artificial life experiments studying the evolution of multicellularity (e.g., [@moreno2021exploring; @moreno2021case]); we anticipate it will also enable novel work in other artificial life and genetic programming contexts. + +# Execution Speed Benchmarking + +We performed a set of microbenchmarks --- a type of synthetic benchmark that measures execution time of software subcomponents --- to quantify the effectiveness of SignalGP-Lite's optimizations in accelerating evaluation of event-driven genetic programs. + +Hardware caching size profoundly affects memory access time, which is key to computational performance [@skadron1999branch]. +In order to determine the relative performance of SignalGP and SignalGP-Lite at different cache levels, we benchmarked over different orders of magnitude of memory load by varying the number of virtual CPUs (agent counts) between from 1 and 32768 (Supplementary Table \ref{raw-timings-table}). + +We performed five microbenchmark experiments, reported below, to isolate how specific aspects of the library design influenced performance. +Analysis below focuses on wall time speedup. +However, supplementary \autoref{fig:raw-timings} shows raw wall-clock timings for these experiments. +For each microbenchmark experiment, the Google Benchmark library used an insturmented burn-in process to dynamically determine the number of successive calls to the focal code snippet necessary to take a stable measurement of its run time. + +## control + +The control involves importing the library to benchmark, initializing agents, and then measuring the execution time of an empty loop. This experiment verifies the validity of our benchmarking process. +The 1x wall speedup (\autoref{fig:bench-wall}) confirms that further results are not inadvertently skewed by our experimental apparatus. + +## nop + +A program consisting of 100 `nop` instructions is randomly generated. +(Although some `nop` operation variants advance the random number generator engine in order to minimize unintended side effects when substituted for another operation that itself advances the random number generator, no `nop` instructions used in this experiment did so.) +This benchmarks instruction execution overhead directly, as it successive `nop`'ss are the only call measured inside the benchmarking loop. +With this approach, the relative performance impact of SignalGP-Lite's byte-code interpreter can be compared to SignalGP's lambda-based instructions. + +We observe an 8x to 30x speedup under SignalGP-Lite (\autoref{fig:bench-wall}). +The greatest speedup occurred at a relatively light memory footprint of 1024 agents. + +## arithmetic + +A program consisting of 100 randomly-chosen arithmetic instructions (`add`, `subtract`, `multiply`, and `divide`) is generated. +This measures the performance impact of SignalGP-Lite's fixed-length array registers compared to SignalGP's variable-length vector registers. +This compile-time optimization streamlines register access at the cost of the ability to change the number of registers on the fly. +Since our aim is to only measure the performance effect of this optimization, no `nop` instructions are present in the generated program. + +\autoref{fig:bench-wall} shows that incorporating this trade-off increases speedup to 20x to 50x. +The greatest speedup increase occurred at a relatively light memory footprint of 1024 agents. + +## complete + +The complete benchmark adds control flow instructions to the prior benchmarks' instruction set. +Bitwise and logical operators, comparison instructions, and random number generation operations, are also included. +From this complete instruction set, a 100-instruction program is randomly generated. + +The main goal of this benchmark is to determine the performance impact of omitting a function stack and implementing inner loops and conditionals in terms of `jump` instructions instead of nested code blocks. + +SignalGP-Lite's stripped-down control flow model increases speedup to 30x to 55x compared to vanilla SignalGP (\autoref{fig:bench-wall}). +The greatest speedup occurred at a light memory footprint of 32 agents. + +## sans_regulation + +Regulation operations allow SignalGP and SignalGP-Lite programs to adjust which program modules are expressed in response to environmental signals. +Since regulation can invalidate some of SignalGP and SignalGP-Lite's caching optimizations, we wanted to measure timings without regulation enabled. + +This benchmark measures the complete instruction set with regulation-related instructions excluded. + +As shown on \autoref{fig:bench-wall}, this yields a 35x to 47x speed-up with respect to SignalGP. +The greatest speedup occurred at a light memory footprint of 32 agents. +From this, we can conclude that SignalGP-Lite offers performance improvements even on simulations that do not depend on regulation. + +# Test Problem Benchmarking + +In order to viably serve as a specialized alternative to the original SignalGP for certain artificial life applications, SignalGP-Lite must match SignalGP's performance on benchmarks measuring responsivity and plasticity (the ability of programs to adapt to changes in their environment). +To verify SignalGP-Lite's aptitude on these tests, we replicated two canonical SignalGP experiments, reported below [@lalejini2018evolving; @lalejini_tag-based_2021]. + +## Changing Environment Problem + +The Changing Environment Problem dispatched K = 2, 4, 8, or 16 mutually-exclusive environmental signals with randomly generated labels. +Programs were tasked to respond to each signal with a unique response instruction [@lalejini2018evolving]. + +A total of 100 replicate populations of 100 individuals were evolved for up to 10,000 generations. +Elite selection was used to choose the best-fit individual; roulette selection was used for the other 99. +\autoref{fig:tts-changing} shows the number of generations elapsed before a full solution was found. +SignalGP-Lite evolved full solutions to each problem within 3,500 generations in all 100 tested replicates. + +In the `K=16` case, we achieved a superior 100% signal reproduction rate compared to an average of 32% on the original SignalGP implementation (@lalejini2018evolving Figure 2). +We suspect this improvement occurred due to differences in how mutation, tag matching, and program initialization were performed, rather than an intrinsic difference between the libraries. + +## Contextual Signal Problem + +The Contextual Signal Problem assesses the ability of evolving programs to maintain memory of previously encountered signals. +In previous work, this problem was used to demonstrate an important use case of regulation instructions. +To solve this problem, programs must remember an initial signal (i.e., its "context") in order to respond appropriately to a second signal [@lalejini_tag-based_2021]. + +We assigned each possible unordered input signal pair a unique response to then be performed by the organism. +We tested with 16 input signal pairs and 4 output responses. +Table 2 in @lalejini_tag-based_2021 enumerates these sequences and responses. + +A total of 20 replicates were evolved for up to 10,000 generations using a 16-way lexicase selection scheme [@spector2012assessment], with each of the input signal pairs serving as a test case. +To evaluate each test case, programs were sent the first signal of each test case and given 128 virtual CPU cycles to process it. +After this, the second signal was sent. +After another 128 virtual CPU cycles, their response was recorded. + +In order to save resources and computing time, as soon as a replicate evolved a fully-correct solution, their evolution was halted. +We excluded random number generating operations from the instruction set to ensure that programs could not solve the Contextual Signal Problem by chance. +\autoref{fig:tts-context} shows the number of generations elapsed before a full solution was found. +SignalGP-Lite evolved full solutions in half as many generations compared to SignalGP when regulation was enabled. +Moreover---as opposed to SignalGP---no replicates failed to reach a full solution in 10,000 generations. +This may be due to the original SignalGP experiment purging running modules between signals, while our replication did not. + +The primary object of interest this benchmark, however, is the extent to which each library's problem solving capability improves with the enablement of regulation instructions. +As expected, wth regulation disabled the performance of both libraries is significantly degraded. +SignalGP0-Lite's median (or mean, depending on what's reported in the other paper) time to solution discovery with regulation disabled was XX generations. +SignalGP's was YY generations. +Indeed, withouth regulation, both libraries achieved similarly slow generations to solution discovery. +^[ +We were surprised to see SignalGP-Lite evolve full solutions in the absence of regulation. +SignalGP reached solutions sans regulation through global memory operations that allow coordination between modules. +Although SignalGP-Lite's baseline instruction set does include global memory, manual inspection revealed that solutions appear to have arisen through intricately timed busy loops. +] + +These results confirm that SignalGP-Lite's module regulation system functions comparably to SignalGP's in terms of facilitating context-dependent behavior. + +# Projects Using the Software + +SignalGP-Lite is used in DISHTINY, a digital framework for studying evolution of multicelularity [@moreno2019toward; @moreno2021exploring; @moreno2021case]. + +# Conclusion + +In this work, we introduced a specialized reimplementation of the SignalGP library for event-driven genetic programming called SignalGP-Lite. +Designed to cater to artificial life applications, the SignalGP-Lite library streamlines agents by reducing control flow overhead and trading run-time flexibility for better performance due to compile-time configuration. +We showed through benchmarking experiments how these distinctions, stemming from fundamental aspects of the re-implementation, enable an order-of-magnitude speedup. +Further, through two benchmark problems from foundational work with SignalGP, we demonstrate solution quality equivalent to SignalGP. +SignalGP-Lite has already been adopted in an ongoing artificial life project, the DISHTINY digital multicellularity framework. +Because of its distinctive capabilities, free distribution of this software enables new opportunities within artificial life and other specialized applications of genetic programming. + +# Figures + + + +![Number of generations elapsed before a perfect solution was observed on the Changing Enviroment problem. All replicates found a perfect solution.\label{fig:tts-changing}](figures/solution-time-swarmplot.png) + +![Number of generations elapsed before a perfect solution was observed on the Contextual Signal problem.\label{fig:tts-context}](figures/solution-time-contextual-signal.png) + + + + + +![Benchmarking results of 20 replicates shown as a times-speedup of wall time. "Benchmark" refers to the set of instructions tested (see Benchmarking Results section).\label{fig:bench-wall}](figures/wall-time-speedup.png) + + +# Acknowledgements + +This research was supported in part by NSF grants DEB-1655715 and DBI-0939454 as well as by Michigan State University through the computational resources provided by the Institute for Cyber-Enabled Research. +This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-1424871, and by the Michigan State University BEACON Center Luminaries program. +Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. + +# References + +
+ +\pagebreak +\appendix + +# Supplementary Material + +All benchmarks reported were performed using Google Benchmark version 1.5.2-1. + + + +![Maximum fitness wrt. updates, with standard deviation confidence intervals. This is because, due to large number of datapoints, computing 95% CI takes a non-insignificant amount of time.\label{fig:max-fitness-sd}](figures/max-fitness-sd.png) + +![Filtered maximum fitness wrt. updates, with 95% confidence intervals. Data has been filtered logarithmically.\label{fig:max-fitness-sd}](figures/max-fitness-log2.png) + +![Wall time benchmarking results of 20 replicates. The x-axis represents different agent counts. Supplementary Table \ref{raw-timings-table} shows raw benchmark data.\label{fig:raw-timings}](figures/raw-timings.png) + +Table: Raw benchmark timings, also available as a CSV file in the supplement repository. \label{raw-timings-table} + +| Library | Implementation | Wall Nanoseconds | CPU Nanoseconds | num agents | +|-|-|-|-|-| +| arithmetic | vanilla | 760.19 | 749.88 | 1 | +| arithmetic | vanilla | 768.35 | 754.18 | 1 | +| arithmetic | vanilla | 768.87 | 755.16 | 1 | +| arithmetic | vanilla | 757.27 | 748.97 | 1 | +| arithmetic | vanilla | 759.50 | 746.07 | 1 | +| arithmetic | vanilla | 759.35 | 747.11 | 1 | +| arithmetic | vanilla | 759.50 | 746.07 | 1 | +| arithmetic | vanilla | 752.69 | 751.92 | 1 | +| arithmetic | vanilla | 741.52 | 741.52 | 1 | +| arithmetic | vanilla | 745.24 | 745.22 | 1 | +| arithmetic | vanilla | 740.75 | 740.74 | 1 | +| arithmetic | vanilla | 747.54 | 747.54 | 1 | +| arithmetic | vanilla | 745.73 | 745.74 | 1 | +| arithmetic | vanilla | 742.21 | 742.22 | 1 | +| arithmetic | vanilla | 741.18 | 741.17 | 1 | +| arithmetic | vanilla | 742.07 | 742.07 | 1 | +| arithmetic | vanilla | 746.56 | 746.56 | 1 | +| arithmetic | vanilla | 738.83 | 738.82 | 1 | +| arithmetic | vanilla | 776.20 | 776.18 | 1 | +| arithmetic | vanilla | 764.06 | 764.04 | 1 | +| arithmetic | vanilla | 769.96 | 769.93 | 1 | +| arithmetic | vanilla | 760.74 | 760.74 | 1 | +| arithmetic | vanilla | 761.06 | 761.06 | 1 | +| arithmetic | vanilla | 773.91 | 773.91 | 1 | +| arithmetic | vanilla | 779.18 | 779.18 | 1 | +| arithmetic | vanilla | 743.94 | 743.94 | 1 | +| arithmetic | vanilla | 748.39 | 748.39 | 1 | +| arithmetic | vanilla | 763.53 | 763.52 | 1 | +| arithmetic | vanilla | 750.32 | 750.30 | 1 | +| arithmetic | vanilla | 741.52 | 741.51 | 1 | +| arithmetic | vanilla | 773.12 | 773.12 | 1 | +| arithmetic | vanilla | 747.61 | 747.61 | 1 | +| arithmetic | vanilla | 750.60 | 750.60 | 1 | +| arithmetic | vanilla | 758.21 | 758.20 | 1 | +| arithmetic | vanilla | 756.08 | 756.07 | 1 | +| arithmetic | vanilla | 760.37 | 760.35 | 1 | +| arithmetic | vanilla | 765.80 | 765.78 | 1 | +| arithmetic | vanilla | 760.50 | 760.50 | 1 | +| arithmetic | vanilla | 760.77 | 760.43 | 1 | +| arithmetic | vanilla | 758.77 | 758.76 | 1 | +| arithmetic | vanilla | 765.48 | 765.48 | 1 | +| arithmetic | vanilla | 784.83 | 784.83 | 1 | +| arithmetic | vanilla | 765.47 | 765.48 | 1 | +| arithmetic | vanilla | 755.47 | 755.47 | 1 | +| arithmetic | vanilla | 781.90 | 781.89 | 1 | +| arithmetic | vanilla | 753.27 | 753.24 | 1 | +| arithmetic | vanilla | 751.04 | 751.03 | 1 | +| arithmetic | vanilla | 751.33 | 751.26 | 1 | +| arithmetic | vanilla | 749.13 | 749.13 | 1 | +| arithmetic | vanilla | 751.68 | 751.68 | 1 | +| arithmetic | vanilla | 799.42 | 799.34 | 32 | +| arithmetic | vanilla | 792.84 | 792.83 | 32 | +| arithmetic | vanilla | 807.18 | 807.17 | 32 | +| arithmetic | vanilla | 780.16 | 780.15 | 32 | +| arithmetic | vanilla | 777.25 | 777.25 | 32 | +| arithmetic | vanilla | 757.24 | 757.23 | 32 | +| arithmetic | vanilla | 801.78 | 801.72 | 32 | +| arithmetic | vanilla | 801.99 | 801.99 | 32 | +| arithmetic | vanilla | 771.23 | 771.23 | 32 | +| arithmetic | vanilla | 789.31 | 789.21 | 32 | +| arithmetic | vanilla | 813.77 | 810.35 | 32 | +| arithmetic | vanilla | 790.63 | 787.39 | 32 | +| arithmetic | vanilla | 773.45 | 772.57 | 32 | +| arithmetic | vanilla | 775.79 | 775.80 | 32 | +| arithmetic | vanilla | 769.40 | 769.40 | 32 | +| arithmetic | vanilla | 797.99 | 791.57 | 32 | +| arithmetic | vanilla | 779.22 | 779.22 | 32 | +| arithmetic | vanilla | 789.42 | 789.38 | 32 | +| arithmetic | vanilla | 851.14 | 839.15 | 32 | +| arithmetic | vanilla | 822.59 | 807.25 | 32 | +| arithmetic | vanilla | 827.15 | 812.93 | 32 | +| arithmetic | vanilla | 815.08 | 798.61 | 32 | +| arithmetic | vanilla | 827.47 | 811.93 | 32 | +| arithmetic | vanilla | 810.20 | 799.03 | 32 | +| arithmetic | vanilla | 799.69 | 797.19 | 32 | +| arithmetic | vanilla | 790.41 | 790.37 | 32 | +| arithmetic | vanilla | 797.15 | 797.11 | 32 | +| arithmetic | vanilla | 813.77 | 813.63 | 32 | +| arithmetic | vanilla | 841.25 | 841.21 | 32 | +| arithmetic | vanilla | 835.91 | 832.54 | 32 | +| arithmetic | vanilla | 834.34 | 828.55 | 32 | +| arithmetic | vanilla | 822.83 | 818.04 | 32 | +| arithmetic | vanilla | 817.66 | 813.09 | 32 | +| arithmetic | vanilla | 815.65 | 810.53 | 32 | +| arithmetic | vanilla | 823.80 | 815.10 | 32 | +| arithmetic | vanilla | 787.88 | 787.65 | 32 | +| arithmetic | vanilla | 782.20 | 782.20 | 32 | +| arithmetic | vanilla | 781.27 | 781.28 | 32 | +| arithmetic | vanilla | 788.72 | 788.72 | 32 | +| arithmetic | vanilla | 810.90 | 810.91 | 32 | +| arithmetic | vanilla | 818.32 | 818.30 | 32 | +| arithmetic | vanilla | 787.87 | 787.86 | 32 | +| arithmetic | vanilla | 802.66 | 802.60 | 32 | +| arithmetic | vanilla | 809.53 | 809.54 | 32 | +| arithmetic | vanilla | 815.69 | 815.70 | 32 | +| arithmetic | vanilla | 802.44 | 802.44 | 32 | +| arithmetic | vanilla | 831.92 | 831.90 | 32 | +| arithmetic | vanilla | 815.76 | 815.24 | 32 | +| arithmetic | vanilla | 798.05 | 798.04 | 32 | +| arithmetic | vanilla | 801.61 | 801.61 | 32 | +| arithmetic | vanilla | 1609.17 | 1609.12 | 1024 | +| arithmetic | vanilla | 1690.62 | 1690.05 | 1024 | +| arithmetic | vanilla | 1611.38 | 1609.01 | 1024 | +| arithmetic | vanilla | 1671.34 | 1670.96 | 1024 | +| arithmetic | vanilla | 1737.05 | 1730.47 | 1024 | +| arithmetic | vanilla | 1766.97 | 1766.91 | 1024 | +| arithmetic | vanilla | 1588.26 | 1588.24 | 1024 | +| arithmetic | vanilla | 1682.21 | 1680.91 | 1024 | +| arithmetic | vanilla | 1643.24 | 1643.23 | 1024 | +| arithmetic | vanilla | 1703.66 | 1703.64 | 1024 | +| arithmetic | vanilla | 1665.91 | 1665.91 | 1024 | +| arithmetic | vanilla | 1658.93 | 1653.53 | 1024 | +| arithmetic | vanilla | 1623.61 | 1616.73 | 1024 | +| arithmetic | vanilla | 1653.10 | 1653.05 | 1024 | +| arithmetic | vanilla | 1644.47 | 1644.47 | 1024 | +| arithmetic | vanilla | 1682.15 | 1682.15 | 1024 | +| arithmetic | vanilla | 1719.64 | 1719.64 | 1024 | +| arithmetic | vanilla | 1681.78 | 1681.57 | 1024 | +| arithmetic | vanilla | 1613.64 | 1613.57 | 1024 | +| arithmetic | vanilla | 1609.36 | 1608.98 | 1024 | +| arithmetic | vanilla | 1656.75 | 1656.65 | 1024 | +| arithmetic | vanilla | 1681.59 | 1681.59 | 1024 | +| arithmetic | vanilla | 1710.99 | 1710.96 | 1024 | +| arithmetic | vanilla | 1669.02 | 1669.02 | 1024 | +| arithmetic | vanilla | 1638.71 | 1638.70 | 1024 | +| arithmetic | vanilla | 1691.14 | 1691.14 | 1024 | +| arithmetic | vanilla | 1728.32 | 1728.32 | 1024 | +| arithmetic | vanilla | 1661.15 | 1661.14 | 1024 | +| arithmetic | vanilla | 1622.40 | 1622.31 | 1024 | +| arithmetic | vanilla | 1648.83 | 1648.83 | 1024 | +| arithmetic | vanilla | 1627.84 | 1625.57 | 1024 | +| arithmetic | vanilla | 1707.33 | 1707.30 | 1024 | +| arithmetic | vanilla | 1660.42 | 1658.64 | 1024 | +| arithmetic | vanilla | 1616.96 | 1616.91 | 1024 | +| arithmetic | vanilla | 1633.51 | 1633.49 | 1024 | +| arithmetic | vanilla | 1594.59 | 1594.57 | 1024 | +| arithmetic | vanilla | 1615.70 | 1615.70 | 1024 | +| arithmetic | vanilla | 1668.26 | 1668.26 | 1024 | +| arithmetic | vanilla | 1659.44 | 1659.43 | 1024 | +| arithmetic | vanilla | 1609.23 | 1609.21 | 1024 | +| arithmetic | vanilla | 1671.21 | 1670.36 | 1024 | +| arithmetic | vanilla | 1625.10 | 1625.09 | 1024 | +| arithmetic | vanilla | 1631.90 | 1631.87 | 1024 | +| arithmetic | vanilla | 1608.69 | 1608.69 | 1024 | +| arithmetic | vanilla | 1622.32 | 1617.40 | 1024 | +| arithmetic | vanilla | 1632.61 | 1627.07 | 1024 | +| arithmetic | vanilla | 1580.68 | 1580.00 | 1024 | +| arithmetic | vanilla | 1686.28 | 1686.28 | 1024 | +| arithmetic | vanilla | 1673.45 | 1646.51 | 1024 | +| arithmetic | vanilla | 1650.37 | 1613.36 | 1024 | +| arithmetic | vanilla | 1787.28 | 1778.42 | 32768 | +| arithmetic | vanilla | 1745.06 | 1712.71 | 32768 | +| arithmetic | vanilla | 1814.96 | 1782.09 | 32768 | +| arithmetic | vanilla | 1940.58 | 1939.85 | 32768 | +| arithmetic | vanilla | 1669.27 | 1669.23 | 32768 | +| arithmetic | vanilla | 1701.11 | 1700.71 | 32768 | +| arithmetic | vanilla | 1619.67 | 1619.66 | 32768 | +| arithmetic | vanilla | 1601.34 | 1601.34 | 32768 | +| arithmetic | vanilla | 1615.92 | 1615.92 | 32768 | +| arithmetic | vanilla | 1704.98 | 1704.84 | 32768 | +| arithmetic | vanilla | 1679.23 | 1679.16 | 32768 | +| arithmetic | vanilla | 1642.93 | 1642.89 | 32768 | +| arithmetic | vanilla | 1614.52 | 1614.52 | 32768 | +| arithmetic | vanilla | 1627.87 | 1627.83 | 32768 | +| arithmetic | vanilla | 1679.48 | 1679.47 | 32768 | +| arithmetic | vanilla | 1626.59 | 1626.58 | 32768 | +| arithmetic | vanilla | 1687.02 | 1686.90 | 32768 | +| arithmetic | vanilla | 1679.43 | 1679.43 | 32768 | +| arithmetic | vanilla | 1640.85 | 1640.81 | 32768 | +| arithmetic | vanilla | 1729.68 | 1728.72 | 32768 | +| arithmetic | vanilla | 1714.43 | 1714.40 | 32768 | +| arithmetic | vanilla | 1621.67 | 1621.66 | 32768 | +| arithmetic | vanilla | 1595.25 | 1595.25 | 32768 | +| arithmetic | vanilla | 1631.16 | 1631.16 | 32768 | +| arithmetic | vanilla | 1652.02 | 1651.99 | 32768 | +| arithmetic | vanilla | 1617.54 | 1617.50 | 32768 | +| arithmetic | vanilla | 1704.85 | 1702.74 | 32768 | +| arithmetic | vanilla | 1703.76 | 1693.17 | 32768 | +| arithmetic | vanilla | 1754.77 | 1754.34 | 32768 | +| arithmetic | vanilla | 1678.26 | 1639.86 | 32768 | +| arithmetic | vanilla | 1662.27 | 1634.36 | 32768 | +| arithmetic | vanilla | 1655.22 | 1629.15 | 32768 | +| arithmetic | vanilla | 1665.78 | 1636.26 | 32768 | +| arithmetic | vanilla | 1680.62 | 1648.38 | 32768 | +| arithmetic | vanilla | 1752.40 | 1728.71 | 32768 | +| arithmetic | vanilla | 1669.39 | 1669.34 | 32768 | +| arithmetic | vanilla | 1676.24 | 1672.00 | 32768 | +| arithmetic | vanilla | 1634.84 | 1634.81 | 32768 | +| arithmetic | vanilla | 1687.72 | 1687.67 | 32768 | +| arithmetic | vanilla | 1650.51 | 1650.42 | 32768 | +| arithmetic | vanilla | 1668.15 | 1668.15 | 32768 | +| arithmetic | vanilla | 1658.72 | 1658.60 | 32768 | +| arithmetic | vanilla | 1647.36 | 1647.37 | 32768 | +| arithmetic | vanilla | 1638.67 | 1638.59 | 32768 | +| arithmetic | vanilla | 1688.80 | 1688.80 | 32768 | +| arithmetic | vanilla | 1634.55 | 1634.56 | 32768 | +| arithmetic | vanilla | 1727.82 | 1727.69 | 32768 | +| arithmetic | vanilla | 1636.13 | 1636.13 | 32768 | +| arithmetic | vanilla | 1661.66 | 1661.57 | 32768 | +| arithmetic | vanilla | 1712.89 | 1691.95 | 32768 | +| complete | vanilla | 22792.39 | 22759.79 | 1 | +| complete | vanilla | 23203.62 | 23118.27 | 1 | +| complete | vanilla | 24437.95 | 24188.15 | 1 | +| complete | vanilla | 24410.70 | 24330.48 | 1 | +| complete | vanilla | 24124.18 | 24020.80 | 1 | +| complete | vanilla | 24155.33 | 23968.30 | 1 | +| complete | vanilla | 24780.18 | 24444.83 | 1 | +| complete | vanilla | 25548.30 | 25401.63 | 1 | +| complete | vanilla | 23486.37 | 23340.78 | 1 | +| complete | vanilla | 23760.35 | 23582.12 | 1 | +| complete | vanilla | 24136.77 | 23936.80 | 1 | +| complete | vanilla | 25552.98 | 25415.72 | 1 | +| complete | vanilla | 25193.67 | 24936.47 | 1 | +| complete | vanilla | 24901.96 | 24608.72 | 1 | +| complete | vanilla | 23956.94 | 23732.90 | 1 | +| complete | vanilla | 25029.21 | 24858.61 | 1 | +| complete | vanilla | 24957.04 | 24856.43 | 1 | +| complete | vanilla | 24399.10 | 24123.83 | 1 | +| complete | vanilla | 24196.05 | 23899.29 | 1 | +| complete | vanilla | 25542.33 | 25512.70 | 1 | +| complete | vanilla | 35583.70 | 35111.39 | 32 | +| complete | vanilla | 31072.12 | 30814.79 | 32 | +| complete | vanilla | 34756.04 | 34397.74 | 32 | +| complete | vanilla | 32993.73 | 32660.28 | 32 | +| complete | vanilla | 29274.59 | 29038.10 | 32 | +| complete | vanilla | 30905.56 | 30728.66 | 32 | +| complete | vanilla | 31759.00 | 31520.90 | 32 | +| complete | vanilla | 33703.31 | 33402.32 | 32 | +| complete | vanilla | 30585.90 | 30258.02 | 32 | +| complete | vanilla | 34651.71 | 34358.01 | 32 | +| complete | vanilla | 33578.90 | 33394.27 | 32 | +| complete | vanilla | 32262.49 | 32103.10 | 32 | +| complete | vanilla | 31068.13 | 30884.80 | 32 | +| complete | vanilla | 35098.88 | 34734.12 | 32 | +| complete | vanilla | 31326.04 | 31265.81 | 32 | +| complete | vanilla | 29679.55 | 29667.76 | 32 | +| complete | vanilla | 34160.38 | 33780.28 | 32 | +| complete | vanilla | 32381.72 | 32345.97 | 32 | +| complete | vanilla | 31777.50 | 31541.14 | 32 | +| complete | vanilla | 31529.37 | 31491.00 | 32 | +| complete | vanilla | 30595.67 | 30589.46 | 1024 | +| complete | vanilla | 29877.09 | 29468.47 | 1024 | +| complete | vanilla | 34749.25 | 34318.38 | 1024 | +| complete | vanilla | 32068.20 | 31617.81 | 1024 | +| complete | vanilla | 30824.03 | 30821.11 | 1024 | +| complete | vanilla | 30170.31 | 30089.37 | 1024 | +| complete | vanilla | 29264.82 | 29198.94 | 1024 | +| complete | vanilla | 30249.13 | 30214.93 | 1024 | +| complete | vanilla | 30166.86 | 30166.83 | 1024 | +| complete | vanilla | 31835.44 | 31834.66 | 1024 | +| complete | vanilla | 33134.30 | 33134.29 | 1024 | +| complete | vanilla | 32381.86 | 32343.31 | 1024 | +| complete | vanilla | 30340.41 | 30079.61 | 1024 | +| complete | vanilla | 32355.06 | 32126.01 | 1024 | +| complete | vanilla | 34694.44 | 34191.56 | 1024 | +| complete | vanilla | 36885.53 | 36467.55 | 1024 | +| complete | vanilla | 35027.90 | 34789.83 | 1024 | +| complete | vanilla | 33587.63 | 33326.76 | 1024 | +| complete | vanilla | 37003.57 | 36587.17 | 1024 | +| complete | vanilla | 32903.23 | 32439.15 | 1024 | +| complete | vanilla | 40668.84 | 40668.25 | 32768 | +| complete | vanilla | 37402.74 | 37402.17 | 32768 | +| complete | vanilla | 46248.95 | 46196.18 | 32768 | +| complete | vanilla | 40634.62 | 39885.51 | 32768 | +| complete | vanilla | 39601.10 | 38905.12 | 32768 | +| complete | vanilla | 38538.96 | 37783.22 | 32768 | +| complete | vanilla | 38794.17 | 38218.78 | 32768 | +| complete | vanilla | 38254.81 | 37851.93 | 32768 | +| complete | vanilla | 36349.80 | 36349.75 | 32768 | +| complete | vanilla | 37353.11 | 37353.03 | 32768 | +| complete | vanilla | 37442.02 | 36854.76 | 32768 | +| complete | vanilla | 37787.89 | 37014.78 | 32768 | +| complete | vanilla | 38519.35 | 37777.28 | 32768 | +| complete | vanilla | 37983.14 | 37299.06 | 32768 | +| complete | vanilla | 39508.65 | 38880.46 | 32768 | +| complete | vanilla | 38163.34 | 37575.59 | 32768 | +| complete | vanilla | 37972.43 | 37299.13 | 32768 | +| complete | vanilla | 41130.09 | 40588.81 | 32768 | +| complete | vanilla | 38845.03 | 38391.07 | 32768 | +| complete | vanilla | 37005.04 | 37005.05 | 32768 | +| nop | vanilla | 303.52 | 301.90 | 1 | +| nop | vanilla | 328.01 | 327.21 | 1 | +| nop | vanilla | 314.50 | 312.63 | 1 | +| nop | vanilla | 313.99 | 309.94 | 1 | +| nop | vanilla | 310.24 | 306.25 | 1 | +| nop | vanilla | 312.32 | 308.06 | 1 | +| nop | vanilla | 309.92 | 305.78 | 1 | +| nop | vanilla | 311.39 | 307.72 | 1 | +| nop | vanilla | 311.69 | 307.99 | 1 | +| nop | vanilla | 310.43 | 305.72 | 1 | +| nop | vanilla | 310.99 | 305.76 | 1 | +| nop | vanilla | 310.44 | 306.11 | 1 | +| nop | vanilla | 308.91 | 304.43 | 1 | +| nop | vanilla | 318.68 | 314.04 | 1 | +| nop | vanilla | 312.30 | 307.24 | 1 | +| nop | vanilla | 310.81 | 307.19 | 1 | +| nop | vanilla | 312.34 | 307.74 | 1 | +| nop | vanilla | 313.65 | 308.08 | 1 | +| nop | vanilla | 310.85 | 305.64 | 1 | +| nop | vanilla | 309.23 | 305.25 | 1 | +| nop | vanilla | 330.75 | 326.61 | 32 | +| nop | vanilla | 332.66 | 328.22 | 32 | +| nop | vanilla | 332.90 | 327.83 | 32 | +| nop | vanilla | 333.40 | 329.06 | 32 | +| nop | vanilla | 333.46 | 327.44 | 32 | +| nop | vanilla | 334.44 | 328.47 | 32 | +| nop | vanilla | 332.10 | 329.81 | 32 | +| nop | vanilla | 326.89 | 326.89 | 32 | +| nop | vanilla | 325.05 | 325.05 | 32 | +| nop | vanilla | 327.66 | 327.66 | 32 | +| nop | vanilla | 328.53 | 327.30 | 32 | +| nop | vanilla | 328.30 | 328.30 | 32 | +| nop | vanilla | 328.44 | 328.44 | 32 | +| nop | vanilla | 329.51 | 329.51 | 32 | +| nop | vanilla | 324.31 | 324.30 | 32 | +| nop | vanilla | 330.28 | 330.27 | 32 | +| nop | vanilla | 330.20 | 330.20 | 32 | +| nop | vanilla | 326.90 | 326.89 | 32 | +| nop | vanilla | 336.34 | 336.34 | 32 | +| nop | vanilla | 348.24 | 348.21 | 32 | +| nop | vanilla | 961.18 | 961.13 | 1024 | +| nop | vanilla | 932.15 | 932.13 | 1024 | +| nop | vanilla | 985.26 | 985.26 | 1024 | +| nop | vanilla | 957.85 | 957.84 | 1024 | +| nop | vanilla | 942.41 | 928.07 | 1024 | +| nop | vanilla | 906.35 | 890.08 | 1024 | +| nop | vanilla | 888.76 | 884.23 | 1024 | +| nop | vanilla | 940.81 | 940.79 | 1024 | +| nop | vanilla | 859.19 | 859.19 | 1024 | +| nop | vanilla | 837.66 | 837.66 | 1024 | +| nop | vanilla | 848.95 | 848.95 | 1024 | +| nop | vanilla | 845.00 | 844.98 | 1024 | +| nop | vanilla | 895.59 | 895.57 | 1024 | +| nop | vanilla | 851.09 | 851.07 | 1024 | +| nop | vanilla | 858.08 | 858.08 | 1024 | +| nop | vanilla | 849.78 | 849.78 | 1024 | +| nop | vanilla | 867.20 | 867.20 | 1024 | +| nop | vanilla | 904.93 | 904.90 | 1024 | +| nop | vanilla | 807.05 | 806.04 | 1024 | +| nop | vanilla | 971.06 | 967.02 | 1024 | +| nop | vanilla | 1112.17 | 1111.97 | 32768 | +| nop | vanilla | 1082.29 | 1082.27 | 32768 | +| nop | vanilla | 1107.78 | 1107.65 | 32768 | +| nop | vanilla | 1056.07 | 1056.07 | 32768 | +| nop | vanilla | 1070.70 | 1070.69 | 32768 | +| nop | vanilla | 1070.97 | 1070.95 | 32768 | +| nop | vanilla | 1034.78 | 1034.74 | 32768 | +| nop | vanilla | 1062.35 | 1062.35 | 32768 | +| nop | vanilla | 1001.25 | 997.63 | 32768 | +| nop | vanilla | 1004.38 | 1004.36 | 32768 | +| nop | vanilla | 1042.76 | 1042.76 | 32768 | +| nop | vanilla | 973.33 | 973.20 | 32768 | +| nop | vanilla | 1021.51 | 1021.51 | 32768 | +| nop | vanilla | 1004.24 | 1004.24 | 32768 | +| nop | vanilla | 1129.32 | 1129.27 | 32768 | +| nop | vanilla | 1071.88 | 1071.88 | 32768 | +| nop | vanilla | 1044.98 | 1044.98 | 32768 | +| nop | vanilla | 1075.35 | 1075.33 | 32768 | +| nop | vanilla | 998.79 | 998.76 | 32768 | +| nop | vanilla | 970.16 | 970.16 | 32768 | +| sans_regulation | vanilla | 23738.83 | 23687.11 | 1 | +| sans_regulation | vanilla | 29138.34 | 28867.22 | 1 | +| sans_regulation | vanilla | 23012.36 | 23011.81 | 1 | +| sans_regulation | vanilla | 22879.23 | 22879.28 | 1 | +| sans_regulation | vanilla | 21606.44 | 21606.06 | 1 | +| sans_regulation | vanilla | 24315.65 | 24189.47 | 1 | +| sans_regulation | vanilla | 24290.39 | 24256.59 | 1 | +| sans_regulation | vanilla | 22075.37 | 22074.20 | 1 | +| sans_regulation | vanilla | 24206.39 | 24205.97 | 1 | +| sans_regulation | vanilla | 23650.88 | 23650.94 | 1 | +| sans_regulation | vanilla | 21503.51 | 21503.29 | 1 | +| sans_regulation | vanilla | 22603.93 | 22556.04 | 1 | +| sans_regulation | vanilla | 22832.25 | 22832.31 | 1 | +| sans_regulation | vanilla | 21128.39 | 21128.38 | 1 | +| sans_regulation | vanilla | 21393.67 | 21393.72 | 1 | +| sans_regulation | vanilla | 23769.54 | 23769.58 | 1 | +| sans_regulation | vanilla | 21918.97 | 21918.47 | 1 | +| sans_regulation | vanilla | 21961.28 | 21960.96 | 1 | +| sans_regulation | vanilla | 24999.87 | 24999.54 | 1 | +| sans_regulation | vanilla | 22841.80 | 22807.61 | 1 | +| sans_regulation | vanilla | 30745.11 | 30744.65 | 32 | +| sans_regulation | vanilla | 30997.85 | 30997.52 | 32 | +| sans_regulation | vanilla | 26773.27 | 26772.85 | 32 | +| sans_regulation | vanilla | 26852.47 | 26780.96 | 32 | +| sans_regulation | vanilla | 28659.17 | 28658.56 | 32 | +| sans_regulation | vanilla | 28455.67 | 28433.84 | 32 | +| sans_regulation | vanilla | 30140.91 | 30125.24 | 32 | +| sans_regulation | vanilla | 31165.90 | 31114.38 | 32 | +| sans_regulation | vanilla | 31729.55 | 31530.98 | 32 | +| sans_regulation | vanilla | 27850.57 | 27517.93 | 32 | +| sans_regulation | vanilla | 27863.73 | 27490.69 | 32 | +| sans_regulation | vanilla | 29210.21 | 28824.14 | 32 | +| sans_regulation | vanilla | 31009.49 | 30626.25 | 32 | +| sans_regulation | vanilla | 31467.94 | 30930.42 | 32 | +| sans_regulation | vanilla | 31278.67 | 31062.19 | 32 | +| sans_regulation | vanilla | 27853.75 | 27853.73 | 32 | +| sans_regulation | vanilla | 27778.20 | 27775.60 | 32 | +| sans_regulation | vanilla | 32296.03 | 32295.63 | 32 | +| sans_regulation | vanilla | 31422.35 | 31360.82 | 32 | +| sans_regulation | vanilla | 28538.44 | 28536.98 | 32 | +| sans_regulation | vanilla | 30988.46 | 30987.94 | 1024 | +| sans_regulation | vanilla | 30206.44 | 30206.39 | 1024 | +| sans_regulation | vanilla | 31261.62 | 31258.95 | 1024 | +| sans_regulation | vanilla | 30122.97 | 30122.03 | 1024 | +| sans_regulation | vanilla | 35259.54 | 35259.21 | 1024 | +| sans_regulation | vanilla | 30799.63 | 30796.55 | 1024 | +| sans_regulation | vanilla | 29496.77 | 29495.44 | 1024 | +| sans_regulation | vanilla | 31268.15 | 31266.79 | 1024 | +| sans_regulation | vanilla | 32659.25 | 32658.48 | 1024 | +| sans_regulation | vanilla | 29186.15 | 29185.87 | 1024 | +| sans_regulation | vanilla | 31275.83 | 31275.84 | 1024 | +| sans_regulation | vanilla | 27903.06 | 27902.45 | 1024 | +| sans_regulation | vanilla | 32888.62 | 32887.92 | 1024 | +| sans_regulation | vanilla | 29790.59 | 29788.20 | 1024 | +| sans_regulation | vanilla | 33735.68 | 33735.26 | 1024 | +| sans_regulation | vanilla | 35563.13 | 35560.50 | 1024 | +| sans_regulation | vanilla | 30951.49 | 30758.96 | 1024 | +| sans_regulation | vanilla | 34846.64 | 34189.19 | 1024 | +| sans_regulation | vanilla | 33492.69 | 32931.72 | 1024 | +| sans_regulation | vanilla | 32136.12 | 31705.89 | 1024 | +| sans_regulation | vanilla | 36815.20 | 36814.18 | 32768 | +| sans_regulation | vanilla | 37040.28 | 37040.17 | 32768 | +| sans_regulation | vanilla | 36282.99 | 36282.96 | 32768 | +| sans_regulation | vanilla | 38338.96 | 38337.87 | 32768 | +| sans_regulation | vanilla | 35984.65 | 35983.68 | 32768 | +| sans_regulation | vanilla | 35774.73 | 35774.66 | 32768 | +| sans_regulation | vanilla | 36623.65 | 36623.81 | 32768 | +| sans_regulation | vanilla | 34905.90 | 34904.35 | 32768 | +| sans_regulation | vanilla | 33155.05 | 33155.13 | 32768 | +| sans_regulation | vanilla | 36185.56 | 36184.49 | 32768 | +| sans_regulation | vanilla | 35980.15 | 35968.70 | 32768 | +| sans_regulation | vanilla | 35395.24 | 35395.27 | 32768 | +| sans_regulation | vanilla | 35854.08 | 35669.65 | 32768 | +| sans_regulation | vanilla | 37071.69 | 36384.46 | 32768 | +| sans_regulation | vanilla | 37510.02 | 36879.27 | 32768 | +| sans_regulation | vanilla | 36601.63 | 36601.42 | 32768 | +| sans_regulation | vanilla | 36582.21 | 36580.73 | 32768 | +| sans_regulation | vanilla | 36695.07 | 36695.07 | 32768 | +| sans_regulation | vanilla | 35868.59 | 35867.27 | 32768 | +| sans_regulation | vanilla | 35831.21 | 35830.75 | 32768 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 1 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 32 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 1024 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| control | vanilla | 0.00 | 0.00 | 32768 | +| arithmetic | lite | 37.26 | 36.94 | 1 | +| arithmetic | lite | 36.40 | 36.40 | 1 | +| arithmetic | lite | 36.07 | 36.07 | 1 | +| arithmetic | lite | 35.99 | 35.99 | 1 | +| arithmetic | lite | 36.26 | 36.26 | 1 | +| arithmetic | lite | 36.76 | 36.73 | 1 | +| arithmetic | lite | 36.77 | 36.77 | 1 | +| arithmetic | lite | 36.34 | 36.34 | 1 | +| arithmetic | lite | 36.18 | 36.18 | 1 | +| arithmetic | lite | 36.05 | 36.05 | 1 | +| arithmetic | lite | 36.25 | 36.25 | 1 | +| arithmetic | lite | 36.48 | 36.48 | 1 | +| arithmetic | lite | 35.84 | 35.84 | 1 | +| arithmetic | lite | 36.44 | 36.44 | 1 | +| arithmetic | lite | 36.25 | 36.25 | 1 | +| arithmetic | lite | 36.15 | 36.15 | 1 | +| arithmetic | lite | 36.12 | 36.12 | 1 | +| arithmetic | lite | 36.32 | 36.32 | 1 | +| arithmetic | lite | 36.30 | 36.30 | 1 | +| arithmetic | lite | 36.05 | 36.05 | 1 | +| arithmetic | lite | 36.00 | 36.00 | 1 | +| arithmetic | lite | 35.95 | 35.95 | 1 | +| arithmetic | lite | 35.98 | 35.98 | 1 | +| arithmetic | lite | 36.10 | 36.10 | 1 | +| arithmetic | lite | 36.29 | 36.29 | 1 | +| arithmetic | lite | 36.18 | 36.18 | 1 | +| arithmetic | lite | 36.03 | 36.03 | 1 | +| arithmetic | lite | 35.97 | 35.96 | 1 | +| arithmetic | lite | 36.28 | 36.28 | 1 | +| arithmetic | lite | 36.18 | 36.18 | 1 | +| arithmetic | lite | 35.90 | 35.90 | 1 | +| arithmetic | lite | 36.09 | 36.09 | 1 | +| arithmetic | lite | 36.35 | 36.35 | 1 | +| arithmetic | lite | 35.98 | 35.98 | 1 | +| arithmetic | lite | 35.88 | 35.88 | 1 | +| arithmetic | lite | 35.90 | 35.90 | 1 | +| arithmetic | lite | 36.32 | 36.32 | 1 | +| arithmetic | lite | 36.97 | 36.62 | 1 | +| arithmetic | lite | 37.05 | 36.63 | 1 | +| arithmetic | lite | 37.25 | 36.58 | 1 | +| arithmetic | lite | 36.59 | 36.10 | 1 | +| arithmetic | lite | 36.75 | 36.23 | 1 | +| arithmetic | lite | 36.32 | 36.18 | 1 | +| arithmetic | lite | 35.98 | 35.98 | 1 | +| arithmetic | lite | 36.02 | 36.02 | 1 | +| arithmetic | lite | 36.06 | 36.06 | 1 | +| arithmetic | lite | 35.94 | 35.94 | 1 | +| arithmetic | lite | 36.60 | 36.60 | 1 | +| arithmetic | lite | 35.73 | 35.73 | 1 | +| arithmetic | lite | 36.41 | 36.41 | 1 | +| arithmetic | lite | 32.42 | 32.42 | 32 | +| arithmetic | lite | 32.56 | 32.56 | 32 | +| arithmetic | lite | 33.26 | 33.26 | 32 | +| arithmetic | lite | 32.74 | 32.74 | 32 | +| arithmetic | lite | 32.57 | 32.57 | 32 | +| arithmetic | lite | 32.49 | 32.49 | 32 | +| arithmetic | lite | 32.51 | 32.51 | 32 | +| arithmetic | lite | 32.73 | 32.73 | 32 | +| arithmetic | lite | 32.68 | 32.68 | 32 | +| arithmetic | lite | 32.69 | 32.69 | 32 | +| arithmetic | lite | 32.73 | 32.73 | 32 | +| arithmetic | lite | 32.69 | 32.69 | 32 | +| arithmetic | lite | 32.65 | 32.65 | 32 | +| arithmetic | lite | 32.78 | 32.78 | 32 | +| arithmetic | lite | 33.58 | 33.58 | 32 | +| arithmetic | lite | 33.83 | 33.83 | 32 | +| arithmetic | lite | 33.18 | 33.18 | 32 | +| arithmetic | lite | 32.96 | 32.96 | 32 | +| arithmetic | lite | 34.01 | 34.01 | 32 | +| arithmetic | lite | 32.99 | 32.99 | 32 | +| arithmetic | lite | 32.74 | 32.74 | 32 | +| arithmetic | lite | 33.47 | 33.47 | 32 | +| arithmetic | lite | 33.22 | 33.22 | 32 | +| arithmetic | lite | 32.39 | 32.39 | 32 | +| arithmetic | lite | 32.52 | 32.52 | 32 | +| arithmetic | lite | 32.57 | 32.57 | 32 | +| arithmetic | lite | 32.56 | 32.56 | 32 | +| arithmetic | lite | 32.48 | 32.48 | 32 | +| arithmetic | lite | 32.74 | 32.74 | 32 | +| arithmetic | lite | 32.64 | 32.64 | 32 | +| arithmetic | lite | 32.69 | 32.69 | 32 | +| arithmetic | lite | 33.21 | 33.21 | 32 | +| arithmetic | lite | 32.98 | 32.98 | 32 | +| arithmetic | lite | 32.60 | 32.60 | 32 | +| arithmetic | lite | 32.64 | 32.64 | 32 | +| arithmetic | lite | 32.49 | 32.49 | 32 | +| arithmetic | lite | 32.53 | 32.53 | 32 | +| arithmetic | lite | 32.53 | 32.53 | 32 | +| arithmetic | lite | 32.78 | 32.78 | 32 | +| arithmetic | lite | 32.92 | 32.92 | 32 | +| arithmetic | lite | 32.49 | 32.49 | 32 | +| arithmetic | lite | 32.57 | 32.57 | 32 | +| arithmetic | lite | 32.59 | 32.59 | 32 | +| arithmetic | lite | 32.67 | 32.67 | 32 | +| arithmetic | lite | 32.78 | 32.77 | 32 | +| arithmetic | lite | 32.47 | 32.47 | 32 | +| arithmetic | lite | 32.58 | 32.57 | 32 | +| arithmetic | lite | 32.44 | 32.44 | 32 | +| arithmetic | lite | 32.58 | 32.58 | 32 | +| arithmetic | lite | 32.61 | 32.60 | 32 | +| arithmetic | lite | 32.84 | 32.84 | 1024 | +| arithmetic | lite | 32.52 | 32.52 | 1024 | +| arithmetic | lite | 33.35 | 33.35 | 1024 | +| arithmetic | lite | 32.62 | 32.62 | 1024 | +| arithmetic | lite | 32.91 | 32.91 | 1024 | +| arithmetic | lite | 32.91 | 32.91 | 1024 | +| arithmetic | lite | 33.28 | 33.28 | 1024 | +| arithmetic | lite | 33.32 | 33.32 | 1024 | +| arithmetic | lite | 33.13 | 33.13 | 1024 | +| arithmetic | lite | 34.21 | 34.21 | 1024 | +| arithmetic | lite | 33.92 | 33.92 | 1024 | +| arithmetic | lite | 34.18 | 34.18 | 1024 | +| arithmetic | lite | 34.92 | 34.92 | 1024 | +| arithmetic | lite | 34.45 | 34.45 | 1024 | +| arithmetic | lite | 33.67 | 33.67 | 1024 | +| arithmetic | lite | 33.54 | 33.54 | 1024 | +| arithmetic | lite | 33.39 | 33.39 | 1024 | +| arithmetic | lite | 33.65 | 33.65 | 1024 | +| arithmetic | lite | 33.99 | 33.99 | 1024 | +| arithmetic | lite | 33.51 | 33.51 | 1024 | +| arithmetic | lite | 33.94 | 33.94 | 1024 | +| arithmetic | lite | 34.04 | 34.04 | 1024 | +| arithmetic | lite | 32.59 | 32.59 | 1024 | +| arithmetic | lite | 33.38 | 33.38 | 1024 | +| arithmetic | lite | 32.87 | 32.87 | 1024 | +| arithmetic | lite | 33.95 | 33.95 | 1024 | +| arithmetic | lite | 33.13 | 33.13 | 1024 | +| arithmetic | lite | 33.81 | 33.81 | 1024 | +| arithmetic | lite | 33.73 | 33.73 | 1024 | +| arithmetic | lite | 33.93 | 33.93 | 1024 | +| arithmetic | lite | 33.84 | 33.84 | 1024 | +| arithmetic | lite | 33.93 | 33.93 | 1024 | +| arithmetic | lite | 34.36 | 34.36 | 1024 | +| arithmetic | lite | 33.30 | 33.30 | 1024 | +| arithmetic | lite | 33.18 | 33.18 | 1024 | +| arithmetic | lite | 33.14 | 33.14 | 1024 | +| arithmetic | lite | 33.64 | 33.64 | 1024 | +| arithmetic | lite | 33.22 | 33.22 | 1024 | +| arithmetic | lite | 33.11 | 33.11 | 1024 | +| arithmetic | lite | 32.80 | 32.79 | 1024 | +| arithmetic | lite | 32.72 | 32.72 | 1024 | +| arithmetic | lite | 33.32 | 33.31 | 1024 | +| arithmetic | lite | 33.22 | 33.22 | 1024 | +| arithmetic | lite | 32.57 | 32.57 | 1024 | +| arithmetic | lite | 32.89 | 32.89 | 1024 | +| arithmetic | lite | 33.38 | 33.38 | 1024 | +| arithmetic | lite | 33.72 | 33.72 | 1024 | +| arithmetic | lite | 33.45 | 33.44 | 1024 | +| arithmetic | lite | 33.23 | 33.23 | 1024 | +| arithmetic | lite | 33.09 | 33.09 | 1024 | +| arithmetic | lite | 74.96 | 74.96 | 32768 | +| arithmetic | lite | 77.06 | 77.05 | 32768 | +| arithmetic | lite | 71.70 | 71.70 | 32768 | +| arithmetic | lite | 74.28 | 74.28 | 32768 | +| arithmetic | lite | 79.42 | 79.42 | 32768 | +| arithmetic | lite | 89.80 | 89.80 | 32768 | +| arithmetic | lite | 83.12 | 83.12 | 32768 | +| arithmetic | lite | 82.23 | 82.23 | 32768 | +| arithmetic | lite | 84.08 | 84.08 | 32768 | +| arithmetic | lite | 76.35 | 76.35 | 32768 | +| arithmetic | lite | 82.43 | 82.43 | 32768 | +| arithmetic | lite | 92.88 | 92.65 | 32768 | +| arithmetic | lite | 80.75 | 80.23 | 32768 | +| arithmetic | lite | 83.53 | 83.24 | 32768 | +| arithmetic | lite | 87.40 | 87.35 | 32768 | +| arithmetic | lite | 84.98 | 84.98 | 32768 | +| arithmetic | lite | 85.25 | 85.23 | 32768 | +| arithmetic | lite | 80.18 | 80.18 | 32768 | +| arithmetic | lite | 74.47 | 74.47 | 32768 | +| arithmetic | lite | 74.64 | 74.51 | 32768 | +| arithmetic | lite | 73.88 | 73.83 | 32768 | +| arithmetic | lite | 80.99 | 80.99 | 32768 | +| arithmetic | lite | 80.54 | 80.53 | 32768 | +| arithmetic | lite | 71.49 | 71.49 | 32768 | +| arithmetic | lite | 74.67 | 74.66 | 32768 | +| arithmetic | lite | 73.00 | 72.80 | 32768 | +| arithmetic | lite | 78.21 | 76.67 | 32768 | +| arithmetic | lite | 80.96 | 80.55 | 32768 | +| arithmetic | lite | 78.41 | 77.95 | 32768 | +| arithmetic | lite | 81.09 | 80.90 | 32768 | +| arithmetic | lite | 84.24 | 84.24 | 32768 | +| arithmetic | lite | 80.57 | 80.57 | 32768 | +| arithmetic | lite | 82.49 | 82.49 | 32768 | +| arithmetic | lite | 87.69 | 87.55 | 32768 | +| arithmetic | lite | 78.81 | 78.47 | 32768 | +| arithmetic | lite | 74.21 | 74.18 | 32768 | +| arithmetic | lite | 73.34 | 73.32 | 32768 | +| arithmetic | lite | 76.17 | 76.16 | 32768 | +| arithmetic | lite | 79.14 | 78.89 | 32768 | +| arithmetic | lite | 70.46 | 70.46 | 32768 | +| arithmetic | lite | 70.57 | 70.54 | 32768 | +| arithmetic | lite | 72.08 | 72.08 | 32768 | +| arithmetic | lite | 78.32 | 78.32 | 32768 | +| arithmetic | lite | 70.07 | 70.07 | 32768 | +| arithmetic | lite | 68.57 | 68.57 | 32768 | +| arithmetic | lite | 76.20 | 76.20 | 32768 | +| arithmetic | lite | 79.14 | 79.13 | 32768 | +| arithmetic | lite | 86.78 | 86.59 | 32768 | +| arithmetic | lite | 73.84 | 73.82 | 32768 | +| arithmetic | lite | 80.13 | 80.11 | 32768 | +| complete | lite | 723.53 | 722.56 | 1 | +| complete | lite | 689.93 | 689.71 | 1 | +| complete | lite | 624.18 | 624.17 | 1 | +| complete | lite | 653.93 | 653.92 | 1 | +| complete | lite | 423.63 | 423.63 | 1 | +| complete | lite | 792.42 | 792.39 | 1 | +| complete | lite | 511.51 | 511.51 | 1 | +| complete | lite | 749.90 | 749.81 | 1 | +| complete | lite | 388.26 | 388.26 | 1 | +| complete | lite | 305.39 | 305.39 | 1 | +| complete | lite | 740.99 | 740.98 | 1 | +| complete | lite | 553.88 | 553.85 | 1 | +| complete | lite | 194.43 | 194.43 | 1 | +| complete | lite | 601.60 | 601.60 | 1 | +| complete | lite | 545.33 | 544.80 | 1 | +| complete | lite | 674.82 | 674.77 | 1 | +| complete | lite | 170.13 | 170.13 | 1 | +| complete | lite | 587.25 | 587.21 | 1 | +| complete | lite | 322.85 | 322.85 | 1 | +| complete | lite | 563.87 | 563.63 | 1 | +| complete | lite | 609.05 | 609.05 | 1 | +| complete | lite | 306.31 | 306.30 | 1 | +| complete | lite | 218.02 | 218.02 | 1 | +| complete | lite | 674.58 | 674.36 | 1 | +| complete | lite | 295.65 | 294.63 | 1 | +| complete | lite | 314.86 | 314.87 | 1 | +| complete | lite | 662.84 | 662.84 | 1 | +| complete | lite | 517.38 | 517.04 | 1 | +| complete | lite | 632.43 | 632.40 | 1 | +| complete | lite | 754.63 | 752.63 | 1 | +| complete | lite | 800.15 | 794.34 | 1 | +| complete | lite | 681.67 | 679.89 | 1 | +| complete | lite | 201.38 | 201.37 | 1 | +| complete | lite | 627.25 | 627.25 | 1 | +| complete | lite | 554.92 | 554.91 | 1 | +| complete | lite | 669.58 | 669.57 | 1 | +| complete | lite | 470.09 | 470.06 | 1 | +| complete | lite | 640.28 | 640.28 | 1 | +| complete | lite | 165.81 | 165.80 | 1 | +| complete | lite | 581.43 | 581.42 | 1 | +| complete | lite | 649.63 | 649.62 | 1 | +| complete | lite | 588.29 | 588.29 | 1 | +| complete | lite | 639.92 | 639.91 | 1 | +| complete | lite | 574.92 | 574.93 | 1 | +| complete | lite | 260.30 | 260.30 | 1 | +| complete | lite | 600.60 | 600.59 | 1 | +| complete | lite | 683.82 | 683.77 | 1 | +| complete | lite | 287.50 | 287.48 | 1 | +| complete | lite | 755.56 | 755.56 | 1 | +| complete | lite | 747.17 | 747.16 | 1 | +| complete | lite | 776.32 | 776.27 | 32 | +| complete | lite | 543.08 | 543.08 | 32 | +| complete | lite | 412.97 | 412.96 | 32 | +| complete | lite | 674.31 | 674.29 | 32 | +| complete | lite | 634.87 | 634.85 | 32 | +| complete | lite | 512.69 | 512.68 | 32 | +| complete | lite | 691.37 | 691.37 | 32 | +| complete | lite | 633.43 | 633.42 | 32 | +| complete | lite | 489.41 | 489.36 | 32 | +| complete | lite | 513.72 | 513.72 | 32 | +| complete | lite | 309.70 | 309.70 | 32 | +| complete | lite | 495.75 | 495.72 | 32 | +| complete | lite | 569.48 | 569.48 | 32 | +| complete | lite | 599.90 | 599.91 | 32 | +| complete | lite | 607.71 | 607.71 | 32 | +| complete | lite | 734.97 | 734.92 | 32 | +| complete | lite | 593.86 | 593.85 | 32 | +| complete | lite | 310.90 | 310.90 | 32 | +| complete | lite | 370.72 | 370.71 | 32 | +| complete | lite | 661.21 | 661.20 | 32 | +| complete | lite | 483.80 | 483.79 | 32 | +| complete | lite | 620.93 | 620.94 | 32 | +| complete | lite | 395.31 | 395.31 | 32 | +| complete | lite | 634.60 | 634.59 | 32 | +| complete | lite | 658.06 | 658.06 | 32 | +| complete | lite | 644.53 | 644.53 | 32 | +| complete | lite | 585.79 | 585.79 | 32 | +| complete | lite | 431.48 | 431.41 | 32 | +| complete | lite | 778.63 | 778.41 | 32 | +| complete | lite | 504.66 | 504.63 | 32 | +| complete | lite | 342.39 | 342.37 | 32 | +| complete | lite | 568.08 | 567.99 | 32 | +| complete | lite | 817.80 | 817.79 | 32 | +| complete | lite | 390.51 | 390.51 | 32 | +| complete | lite | 587.08 | 587.06 | 32 | +| complete | lite | 416.91 | 416.88 | 32 | +| complete | lite | 841.17 | 841.17 | 32 | +| complete | lite | 626.75 | 626.73 | 32 | +| complete | lite | 765.55 | 765.55 | 32 | +| complete | lite | 475.86 | 475.86 | 32 | +| complete | lite | 480.66 | 480.66 | 32 | +| complete | lite | 395.58 | 395.58 | 32 | +| complete | lite | 703.39 | 703.39 | 32 | +| complete | lite | 623.91 | 623.91 | 32 | +| complete | lite | 814.85 | 814.84 | 32 | +| complete | lite | 438.46 | 438.46 | 32 | +| complete | lite | 500.53 | 500.54 | 32 | +| complete | lite | 723.36 | 723.36 | 32 | +| complete | lite | 448.06 | 448.07 | 32 | +| complete | lite | 592.53 | 592.52 | 32 | +| complete | lite | 1106.87 | 1106.88 | 1024 | +| complete | lite | 1086.09 | 1085.99 | 1024 | +| complete | lite | 759.23 | 759.23 | 1024 | +| complete | lite | 1110.70 | 1110.66 | 1024 | +| complete | lite | 1206.49 | 1206.45 | 1024 | +| complete | lite | 1148.69 | 1148.69 | 1024 | +| complete | lite | 1135.75 | 1135.76 | 1024 | +| complete | lite | 1105.14 | 1105.12 | 1024 | +| complete | lite | 1236.00 | 1235.97 | 1024 | +| complete | lite | 1275.01 | 1274.94 | 1024 | +| complete | lite | 1039.72 | 1039.72 | 1024 | +| complete | lite | 1237.13 | 1237.13 | 1024 | +| complete | lite | 1218.68 | 1218.63 | 1024 | +| complete | lite | 1374.46 | 1374.21 | 1024 | +| complete | lite | 1310.89 | 1310.89 | 1024 | +| complete | lite | 1154.87 | 1154.87 | 1024 | +| complete | lite | 1085.11 | 1084.81 | 1024 | +| complete | lite | 834.39 | 834.38 | 1024 | +| complete | lite | 1010.97 | 1010.97 | 1024 | +| complete | lite | 1093.91 | 1093.91 | 1024 | +| complete | lite | 1382.04 | 1382.02 | 1024 | +| complete | lite | 1127.83 | 1127.83 | 1024 | +| complete | lite | 664.25 | 664.25 | 1024 | +| complete | lite | 1327.77 | 1327.77 | 1024 | +| complete | lite | 1113.74 | 1113.74 | 1024 | +| complete | lite | 1075.13 | 1075.13 | 1024 | +| complete | lite | 1121.92 | 1121.92 | 1024 | +| complete | lite | 1310.80 | 1310.79 | 1024 | +| complete | lite | 962.52 | 962.51 | 1024 | +| complete | lite | 1052.42 | 1052.42 | 1024 | +| complete | lite | 728.25 | 728.25 | 1024 | +| complete | lite | 835.02 | 835.02 | 1024 | +| complete | lite | 1325.92 | 1325.92 | 1024 | +| complete | lite | 1077.96 | 1077.96 | 1024 | +| complete | lite | 1241.28 | 1240.96 | 1024 | +| complete | lite | 1305.93 | 1305.91 | 1024 | +| complete | lite | 1049.91 | 1049.88 | 1024 | +| complete | lite | 1219.75 | 1219.71 | 1024 | +| complete | lite | 623.50 | 623.50 | 1024 | +| complete | lite | 989.61 | 989.61 | 1024 | +| complete | lite | 1023.78 | 1023.78 | 1024 | +| complete | lite | 1184.93 | 1184.81 | 1024 | +| complete | lite | 1061.89 | 1061.90 | 1024 | +| complete | lite | 1069.00 | 1068.97 | 1024 | +| complete | lite | 1267.68 | 1267.52 | 1024 | +| complete | lite | 1270.25 | 1270.25 | 1024 | +| complete | lite | 1210.18 | 1209.93 | 1024 | +| complete | lite | 1068.34 | 1062.88 | 1024 | +| complete | lite | 1166.18 | 1159.55 | 1024 | +| complete | lite | 1092.61 | 1087.22 | 1024 | +| complete | lite | 1177.96 | 1176.74 | 32768 | +| complete | lite | 1176.31 | 1176.20 | 32768 | +| complete | lite | 1026.71 | 1026.48 | 32768 | +| complete | lite | 1088.54 | 1086.15 | 32768 | +| complete | lite | 1155.79 | 1148.56 | 32768 | +| complete | lite | 1105.22 | 1103.75 | 32768 | +| complete | lite | 1090.18 | 1089.99 | 32768 | +| complete | lite | 1220.37 | 1220.18 | 32768 | +| complete | lite | 1020.25 | 1011.71 | 32768 | +| complete | lite | 1200.44 | 1192.92 | 32768 | +| complete | lite | 1144.20 | 1144.17 | 32768 | +| complete | lite | 1343.69 | 1343.68 | 32768 | +| complete | lite | 995.65 | 995.62 | 32768 | +| complete | lite | 1126.91 | 1126.89 | 32768 | +| complete | lite | 1011.32 | 1011.29 | 32768 | +| complete | lite | 1090.83 | 1090.77 | 32768 | +| complete | lite | 1093.61 | 1093.60 | 32768 | +| complete | lite | 1089.13 | 1089.12 | 32768 | +| complete | lite | 1246.96 | 1246.91 | 32768 | +| complete | lite | 1078.44 | 1078.44 | 32768 | +| complete | lite | 1261.88 | 1261.85 | 32768 | +| complete | lite | 1209.66 | 1209.65 | 32768 | +| complete | lite | 1236.44 | 1236.40 | 32768 | +| complete | lite | 953.64 | 953.65 | 32768 | +| complete | lite | 1086.47 | 1086.46 | 32768 | +| complete | lite | 1039.57 | 1039.50 | 32768 | +| complete | lite | 939.09 | 939.08 | 32768 | +| complete | lite | 970.19 | 970.14 | 32768 | +| complete | lite | 1154.79 | 1154.76 | 32768 | +| complete | lite | 1159.90 | 1159.85 | 32768 | +| complete | lite | 903.69 | 903.69 | 32768 | +| complete | lite | 958.45 | 958.07 | 32768 | +| complete | lite | 1047.56 | 1047.51 | 32768 | +| complete | lite | 959.05 | 959.04 | 32768 | +| complete | lite | 969.65 | 969.35 | 32768 | +| complete | lite | 1064.84 | 1064.82 | 32768 | +| complete | lite | 1057.66 | 1057.58 | 32768 | +| complete | lite | 1295.73 | 1295.73 | 32768 | +| complete | lite | 1119.69 | 1119.67 | 32768 | +| complete | lite | 1024.96 | 1024.93 | 32768 | +| complete | lite | 1029.08 | 1029.04 | 32768 | +| complete | lite | 898.97 | 898.92 | 32768 | +| complete | lite | 1310.38 | 1310.36 | 32768 | +| complete | lite | 1023.94 | 1023.92 | 32768 | +| complete | lite | 1211.95 | 1211.93 | 32768 | +| complete | lite | 1064.84 | 1064.81 | 32768 | +| complete | lite | 901.60 | 901.60 | 32768 | +| complete | lite | 958.30 | 958.29 | 32768 | +| complete | lite | 1207.84 | 1207.82 | 32768 | +| complete | lite | 1329.57 | 1329.54 | 32768 | +| nop | lite | 38.11 | 38.11 | 1 | +| nop | lite | 38.12 | 38.12 | 1 | +| nop | lite | 35.60 | 35.60 | 1 | +| nop | lite | 35.52 | 35.52 | 1 | +| nop | lite | 35.61 | 35.60 | 1 | +| nop | lite | 35.56 | 35.56 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.60 | 35.60 | 1 | +| nop | lite | 35.55 | 35.55 | 1 | +| nop | lite | 35.56 | 35.56 | 1 | +| nop | lite | 35.55 | 35.55 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.65 | 35.65 | 1 | +| nop | lite | 35.55 | 35.55 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.60 | 35.60 | 1 | +| nop | lite | 35.70 | 35.70 | 1 | +| nop | lite | 35.89 | 35.79 | 1 | +| nop | lite | 35.82 | 35.82 | 1 | +| nop | lite | 35.85 | 35.85 | 1 | +| nop | lite | 35.84 | 35.84 | 1 | +| nop | lite | 36.20 | 35.91 | 1 | +| nop | lite | 35.81 | 35.79 | 1 | +| nop | lite | 35.75 | 35.74 | 1 | +| nop | lite | 35.67 | 35.67 | 1 | +| nop | lite | 35.60 | 35.60 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.61 | 35.61 | 1 | +| nop | lite | 35.57 | 35.57 | 1 | +| nop | lite | 35.58 | 35.58 | 1 | +| nop | lite | 35.60 | 35.60 | 1 | +| nop | lite | 35.56 | 35.56 | 1 | +| nop | lite | 35.56 | 35.56 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.62 | 35.58 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.56 | 35.56 | 1 | +| nop | lite | 35.52 | 35.52 | 1 | +| nop | lite | 35.56 | 35.56 | 1 | +| nop | lite | 35.53 | 35.53 | 1 | +| nop | lite | 35.57 | 35.57 | 1 | +| nop | lite | 35.66 | 35.65 | 1 | +| nop | lite | 35.80 | 35.80 | 1 | +| nop | lite | 35.73 | 35.73 | 1 | +| nop | lite | 35.83 | 35.83 | 1 | +| nop | lite | 35.56 | 35.56 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 35.59 | 35.59 | 1 | +| nop | lite | 32.16 | 32.16 | 32 | +| nop | lite | 32.02 | 32.02 | 32 | +| nop | lite | 32.03 | 32.03 | 32 | +| nop | lite | 32.05 | 32.05 | 32 | +| nop | lite | 32.04 | 32.04 | 32 | +| nop | lite | 32.04 | 32.04 | 32 | +| nop | lite | 32.05 | 32.05 | 32 | +| nop | lite | 32.03 | 32.03 | 32 | +| nop | lite | 32.06 | 32.06 | 32 | +| nop | lite | 32.02 | 32.02 | 32 | +| nop | lite | 32.05 | 32.05 | 32 | +| nop | lite | 32.04 | 32.04 | 32 | +| nop | lite | 32.04 | 32.04 | 32 | +| nop | lite | 32.07 | 32.07 | 32 | +| nop | lite | 32.18 | 32.18 | 32 | +| nop | lite | 32.03 | 32.03 | 32 | +| nop | lite | 32.07 | 32.07 | 32 | +| nop | lite | 32.08 | 32.08 | 32 | +| nop | lite | 32.08 | 32.08 | 32 | +| nop | lite | 32.10 | 32.09 | 32 | +| nop | lite | 32.06 | 32.06 | 32 | +| nop | lite | 32.01 | 32.01 | 32 | +| nop | lite | 32.09 | 32.09 | 32 | +| nop | lite | 32.01 | 32.01 | 32 | +| nop | lite | 32.05 | 32.05 | 32 | +| nop | lite | 32.05 | 32.05 | 32 | +| nop | lite | 32.03 | 32.03 | 32 | +| nop | lite | 32.05 | 32.05 | 32 | +| nop | lite | 32.01 | 32.01 | 32 | +| nop | lite | 32.05 | 32.05 | 32 | diff --git a/microbenchmarks/SignalGP/Makefile b/microbenchmarks/SignalGP/Makefile index aa7d6bfe..6d203831 100644 --- a/microbenchmarks/SignalGP/Makefile +++ b/microbenchmarks/SignalGP/Makefile @@ -1,5 +1,6 @@ TARGET_NAMES += arithmetic TARGET_NAMES += complete +TARGET_NAMES += control TARGET_NAMES += nop TARGET_NAMES += sans_regulation diff --git a/microbenchmarks/SignalGP/_BenchHolder.hpp b/microbenchmarks/SignalGP/_BenchHolder.hpp index 860e782f..512512bc 100644 --- a/microbenchmarks/SignalGP/_BenchHolder.hpp +++ b/microbenchmarks/SignalGP/_BenchHolder.hpp @@ -1,5 +1,7 @@ #pragma once +#include "conduit/include/uitsl/debug/benchmark_utils.hpp" + #include "_SignalGP.hpp" template @@ -36,29 +38,33 @@ struct BenchHolder { // Perform setup here for (auto _ : state) { - // This code gets timed + // prevent loop from getting optimized out under + // control conditions and when n = 1 + int do_not_optimize{}; + uitsl::do_not_optimize(do_not_optimize); auto& cpu = collection[agent]; - +#ifndef STRIP_BENCHMARK_LOOP + // This code gets timed if constexpr ( fill_cores ) { - - while ( cpu.GetUnusedThreadIDs().size() ) { - cpu.SpawnThreadWithTag( tags[tag] ); - ++tag %= tags.size(); - } - cpu.SingleProcess(); + while ( cpu.GetUnusedThreadIDs().size() ) { + cpu.SpawnThreadWithTag( tags[tag] ); + ++tag %= tags.size(); + } + cpu.SingleProcess(); } else { for (size_t i{}; i < 16; ++i) cpu.SingleProcess(); } - - ++agent %= NUM_AGENTS; - +#endif // #ifndef STRIP_BENCHMARK_LOOP + ++agent %= NUM_AGENTS; } for (auto& hardware : collection) { assert( hardware.GetActiveThreadIDs().size() == 1 ); } + uitsl::do_not_optimize(agent); + state.counters["num agents"] = NUM_AGENTS; } diff --git a/microbenchmarks/SignalGP/control.cpp b/microbenchmarks/SignalGP/control.cpp new file mode 100644 index 00000000..51a909ba --- /dev/null +++ b/microbenchmarks/SignalGP/control.cpp @@ -0,0 +1,89 @@ +#include + +#include "conduit/include/uitsl/debug/benchmark_utils.hpp" +#include "Empirical/include/emp/tools/string_utils.hpp" + +constexpr bool fill_cores = false; + +#define STRIP_BENCHMARK_LOOP + +#include "_BenchHolder.hpp" +#include "_Inst_Loop.hpp" +#include "_SignalGP.hpp" + +inst_lib_t inst_lib; +event_lib_t event_lib; +program_t program; + +struct SetupA { + + SetupA() { + + inst_lib.AddInst("Nop", sgp::inst_impl::Inst_Nop, ""); + + emp::Random rand; + + program = sgp::GenRandLinearFunctionsProgram( + rand, + inst_lib, + {1, 1}, // num functions + 1, // num func tags + {100, 100}, // num instructions + 1, // num inst tags + 3, // num inst args + {0, 5} + ); + + inst_lib.AddInst( + "Loop", + Inst_Loop, + "", + {inst_prop_t::BLOCK_DEF} + ); + inst_lib.AddInst( + "Close", + sgp::inst_impl::Inst_Close, + "", + {inst_prop_t::BLOCK_CLOSE} + ); + + program[0][0].SetID( inst_lib.GetID("Loop") ); + program[0][99].SetID( inst_lib.GetID("Close") ); + + } + +} setup_a; + + +BenchHolder<1> bench1{ [](){ return program; }, inst_lib, event_lib }; +BenchHolder<32> bench32{ [](){ return program; }, inst_lib, event_lib }; +BenchHolder<1024> bench1024{ [](){ return program; }, inst_lib, event_lib }; +BenchHolder<32768> bench32768{ [](){ return program; }, inst_lib, event_lib }; + +template +void Register(BenchHolder& holder) { + auto res = benchmark::RegisterBenchmark( + emp::to_string( + "Vanilla_Arithmetic<", NUM_AGENTS, ">" + ).c_str(), + [&](benchmark::State& state){ holder.Run(state); } + ); + + uitsl::report_confidence<20>( res ); + +} + + +struct SetupB { + + SetupB() { + Register<1>( bench1 ); + Register<32>( bench32 ); + Register<1024>( bench1024); + Register<32768>( bench32768 ); + } + +} setup_b; + +// Run the benchmark +BENCHMARK_MAIN(); diff --git a/microbenchmarks/script/graph.py b/microbenchmarks/script/graph.py index 2cea7988..2b572311 100644 --- a/microbenchmarks/script/graph.py +++ b/microbenchmarks/script/graph.py @@ -8,11 +8,15 @@ from iterpop import iterpop as ip def facet(df): + df['Benchmark'] = df['Library'] + df['Num Agents'] = df['num agents'] + return sns.FacetGrid( df, - col='Library', + col='Benchmark', margin_titles="true", sharey=False, + col_wrap=3, ) @@ -20,7 +24,7 @@ def draw_plots(measurement, df): facet(df).map( sns.barplot, - 'num agents', + 'Num Agents', measurement, 'Implementation', hue_order=sorted(df['Implementation'].unique()), @@ -36,12 +40,21 @@ def draw_plots(measurement, df): dpi=300, ) + plt.savefig( + kn.pack({ + 'measurement' : slugify(measurement), + 'ext' : '.pdf', + }), + transparent=True, + dpi=300, + ) + plt.clf() for showfliers in True, False: facet(df).map( sns.boxplot, - 'num agents', + 'Num Agents', measurement, 'Implementation', hue_order=sorted(df['Implementation'].unique()), @@ -59,6 +72,16 @@ def draw_plots(measurement, df): dpi=300, ) + plt.savefig( + kn.pack({ + 'fliers' : showfliers, + 'measurement' : slugify(measurement), + 'ext' : '.pdf', + }), + transparent=True, + dpi=300, + ) + plt.clf() __, filename = sys.argv diff --git a/microbenchmarks/script/graph_speedup.py b/microbenchmarks/script/graph_speedup.py index 55f12fad..6108cb09 100644 --- a/microbenchmarks/script/graph_speedup.py +++ b/microbenchmarks/script/graph_speedup.py @@ -19,18 +19,21 @@ df = df.astype({ 'num agents' : int }) +df['Benchmark'] = df['Library'] +df['Num Agents'] = df['num agents'] + df = df.groupby([ - 'Library', + 'Benchmark', 'Implementation', - 'num agents', + 'Num Agents', ]).mean().reset_index() vanilla = df[df['Implementation'] == 'vanilla'] lite = df[df['Implementation'] == 'lite'] ratio = pd.DataFrame() -ratio['Library'] = vanilla['Library'] -ratio['num agents'] = vanilla['num agents'] +ratio['Benchmark'] = vanilla['Benchmark'] +ratio['Num Agents'] = vanilla['Num Agents'] ratio['Wall Speedup'] = ( np.array( vanilla['Wall Nanoseconds'] ) @@ -42,13 +45,19 @@ / np.array( lite['CPU Nanoseconds'] ) ) -sns.barplot( +ax = sns.barplot( data=ratio, - x='num agents', + x='Num Agents', y='Wall Speedup', - hue='Library', + hue='Benchmark', ) +ax.set_axisbelow(True) +ax.yaxis.grid(color='gray', linestyle='dashed') + +plt.legend(bbox_to_anchor=(1.02, 1), loc=2, borderaxespad=0.) + + plt.savefig( kn.pack({ 'measurement' : slugify('Wall Time Speedup'), @@ -56,15 +65,26 @@ }), transparent=True, dpi=300, + bbox_inches='tight' +) + +plt.savefig( + kn.pack({ + 'measurement' : slugify('Wall Time Speedup'), + 'ext' : '.pdf', + }), + transparent=True, + dpi=300, + bbox_inches='tight' ) plt.clf() sns.barplot( data=ratio, - x='num agents', + x='Num Agents', y='CPU Speedup', - hue='Library', + hue='Benchmark', ) plt.savefig( @@ -76,4 +96,13 @@ dpi=300, ) +plt.savefig( + kn.pack({ + 'measurement' : slugify('CPU Time Speedup'), + 'ext' : '.pdf', + }), + transparent=True, + dpi=300, +) + plt.clf() diff --git a/microbenchmarks/signalgp-lite/Makefile b/microbenchmarks/signalgp-lite/Makefile index aa7d6bfe..6d203831 100644 --- a/microbenchmarks/signalgp-lite/Makefile +++ b/microbenchmarks/signalgp-lite/Makefile @@ -1,5 +1,6 @@ TARGET_NAMES += arithmetic TARGET_NAMES += complete +TARGET_NAMES += control TARGET_NAMES += nop TARGET_NAMES += sans_regulation diff --git a/microbenchmarks/signalgp-lite/benchmark.hpp b/microbenchmarks/signalgp-lite/benchmark.hpp index bfa52060..844d179b 100644 --- a/microbenchmarks/signalgp-lite/benchmark.hpp +++ b/microbenchmarks/signalgp-lite/benchmark.hpp @@ -43,9 +43,13 @@ static void DoBench(benchmark::State& state) { // Perform setup here for (auto _ : state) { + // prevent loop from getting optimized out under + // control conditions and when n = 1 + int do_not_optimize{}; + uitsl::do_not_optimize(do_not_optimize); auto& cpu = collection[agent]; - +#ifndef STRIP_BENCHMARK_LOOP // This code gets timed if constexpr (fill_cores) { while ( cpu.TryLaunchCore( tags[tag] ) ) ++tag %= tags.size(); @@ -54,15 +58,16 @@ static void DoBench(benchmark::State& state) { } else { sgpl::execute_cpu( 1, cpu, program ); } - +#endif // #ifndef STRIP_BENCHMARK_LOOP ++agent %= NUM_AGENTS; } // prevent work from being optimized away for (const auto& cpu : collection) assert( cpu.HasActiveCore() ); - state.counters["num agents"] = NUM_AGENTS; + uitsl::do_not_optimize(agent); + state.counters["num agents"] = NUM_AGENTS; } template @@ -80,7 +85,6 @@ struct Setup { uitsl::report_confidence<50>( res ); } - }; Setup<1> s1; diff --git a/microbenchmarks/signalgp-lite/control.cpp b/microbenchmarks/signalgp-lite/control.cpp new file mode 100644 index 00000000..1664f8ef --- /dev/null +++ b/microbenchmarks/signalgp-lite/control.cpp @@ -0,0 +1,12 @@ +#include "sgpl/library/prefab/prefab.hpp" + +#include "_BenchSpec.hpp" + +#define OP_LIBRARY Control +#define STRIP_BENCHMARK_LOOP + +constexpr bool fill_cores = false; + +using spec_t = BenchSpec; + +#include "benchmark.hpp" diff --git a/microbenchmarks/slurm/job.sh b/microbenchmarks/slurm/job.sh old mode 100644 new mode 100755 diff --git a/microbenchmarks/slurm/nnode=1+nproc=8+ext=.slurm.sh b/microbenchmarks/slurm/nnode=1+nproc=8+ext=.slurm.sh old mode 100644 new mode 100755 diff --git a/microbenchmarks/slurm/nnode=8+nproc=1+ext=.slurm.sh b/microbenchmarks/slurm/nnode=8+nproc=1+ext=.slurm.sh old mode 100644 new mode 100755 diff --git a/tests/operations/binary/Add.cpp b/tests/operations/binary/Add.cpp index b6407680..a5af8e01 100644 --- a/tests/operations/binary/Add.cpp +++ b/tests/operations/binary/Add.cpp @@ -3,9 +3,22 @@ #include "sgpl/operations/binary/Add.hpp" +#include "_BenchSpec.hpp" +#include "benchmark.hpp" + TEST_CASE("Test Add") { // TODO flesh out stub test sgpl::Add{}; } + +TEST_CASE("Benchmark Add", "[benchmark]") { + Setup<1> s1; + Setup<32> s32; + Setup<1024> s1024; + Setup<32768> s32768; + + // Run the benchmark + BENCHMARK_MAIN(); +} diff --git a/third-party/Catch b/third-party/Catch deleted file mode 160000 index 44900d53..00000000 --- a/third-party/Catch +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 44900d5371a7595cc43316725f00f7ff41bfc1b7 diff --git a/third-party/Catch b/third-party/Catch new file mode 120000 index 00000000..19fd3208 --- /dev/null +++ b/third-party/Catch @@ -0,0 +1 @@ +Empirical/third-party/Catch \ No newline at end of file diff --git a/third-party/Empirical b/third-party/Empirical deleted file mode 160000 index e7bd66cc..00000000 --- a/third-party/Empirical +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e7bd66cce3c6342d597ad26a745f72118516b5e2 diff --git a/third-party/Empirical b/third-party/Empirical new file mode 120000 index 00000000..ac3cc2fc --- /dev/null +++ b/third-party/Empirical @@ -0,0 +1 @@ +conduit/third-party/Empirical \ No newline at end of file diff --git a/third-party/cereal b/third-party/cereal deleted file mode 160000 index 93ce8c7e..00000000 --- a/third-party/cereal +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 93ce8c7e0cecab6cdc58038e7c806b61df773be4 diff --git a/third-party/cereal b/third-party/cereal new file mode 120000 index 00000000..0b999f44 --- /dev/null +++ b/third-party/cereal @@ -0,0 +1 @@ +Empirical/third-party/cereal \ No newline at end of file diff --git a/third-party/conduit b/third-party/conduit index 7ee5014e..3ace7d37 160000 --- a/third-party/conduit +++ b/third-party/conduit @@ -1 +1 @@ -Subproject commit 7ee5014e25a92ce7ddf86b52599c6daea965836d +Subproject commit 3ace7d379566fee9cacf6437ce57296123a82526 diff --git a/third-party/emsdk b/third-party/emsdk deleted file mode 160000 index aec1e16f..00000000 --- a/third-party/emsdk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit aec1e16f518517ab140a25f59af0840ae754c86c diff --git a/third-party/force-cover b/third-party/force-cover deleted file mode 160000 index fa52e317..00000000 --- a/third-party/force-cover +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fa52e3177812320ddce39dc11223981c5dee958c diff --git a/third-party/force-cover b/third-party/force-cover new file mode 120000 index 00000000..58c1e37c --- /dev/null +++ b/third-party/force-cover @@ -0,0 +1 @@ +Empirical/third-party/force-cover \ No newline at end of file diff --git a/third-party/install_emsdk.sh b/third-party/install_emsdk.sh index aa840b15..e78bedbc 100755 --- a/third-party/install_emsdk.sh +++ b/third-party/install_emsdk.sh @@ -1,20 +1,8 @@ #!/bin/bash -# Get the emsdk repo -git clone https://github.com/emscripten-core/emsdk.git - -# Enter that directory +git clone --recursive https://github.com/emscripten-core/emsdk cd emsdk - -# Fetch the latest version of the emsdk (not needed the first time you clone) -git pull - -# Download and install pinned SDK tools. +git reset --hard e88a3c5bbfef172a5b947768204ef734e2fb6e04 ./emsdk install 1.38.48 - -# Make the pinned SDK "active" for the current user. (writes ~/.emscripten file) ./emsdk activate 1.38.48 - -# Activate PATH and other environment variables in the current terminal source ./emsdk_env.sh -cd ..