-------::::::::::::::::::::.
-=-----:::::::::::::::::::::::::...
--------::::::::::::::::::::::::::::::
----------::::::::::::..:::::::::::::::::: :
----------::::::::::.....:::::::::::::::::::.
----------:::::::::.......::::::::::::::::::::
----------::::::::........::::::::::::::::::::
----------:::::::.........::::::::::::::::::::
---------:::::::...............:::::::::::::::
---------::::::..................:::::::::::::
---------:::::.....................:::::::::::
--------::::.......................::::::::::
---------:::........................:::::::::
---------:::........................:::::::::
----------::........................::::::::::
:---------:::......:::..............:::::::::::
---------:::::.::::::.............:::::::::::::
.---------::::::::::::...............:::::::::::::
.---------::::::::::::.................::::::::::::
.---------::::::::::...................::::::::::::::
.--------:::::::::.....................:::::::::::::::
:-------:::::..::.......................:::::::::::::::
--------::::...........................::::::::::::::::
--------:...............................:::::::::::::::::
+--------................................::::::::::::::::::
---------.................................:::::::::::::::::
.--------:.................................::::::::::::::::::
---------...................................::::::::::::::::::
----------...................................::::::::::::::::::
---------:....................................:::::::::::::::::
:=--------:....................................::::::::::::::::::
::::--------::::::::::::::::::....................::: :::::::::::::
:::::::-------:::::::::::::::::::...................::: ::::::::::::
:::::::::-----::::::::::::::::::::...................... :::::::::::::
::::::::::-----:::::::::::::::::::::..................... ::::::::::::
:::::::::::::::::::::::::::::::::::...................... ::::::::::::
::::::::::::::::::::::::::::::::::::...................... :::::::::::
:::::::::::::::::::::::::::::::::::........................ :::::::::::
:::::::::::::::::::::::::::::::::::......................... :::::::::::
::::::::::::::::::::::::::::::::::::......................... :::::::::::
::::::::::::::::::::::::::::::::::............................ ::::::::::::
::::::::::::::::::::::::::::::::::..............................::::::::::::
::::::::::::::::::::::::::::::::::..............................::::::::::::
:::::::::::::::::::::::::::::::::::.............................:::::::::::
:::::::::::::::::::::::::::::::::::.............................:::::::::::
::::::::::::::::::::::::::::::::::: ............................:::::::::::
::::::::::::::::::::::::::::::::::::............................::::::::::
::::::::::::::::::::::::::::::::::::............................::::::::::
::::::::::::::::::::::::::::::::::...........................::::::::::
::::::::::::::::: :::::::::::..........................::::::::::
::::::::::::::::: :::::::::::..............:.........::::::::::::
:::::::::::::::: :::::::::::...........:::::.....::::::::::::::
:::::::::::::: ::::::::::::.......::::::::::::::::::::::::::
::::::::::: ::::::::::::::..:::::::::::::::::::::::::::
:::::::::: ::::::::::::::::::::::::::::::::::::::::::
:::::::: .:::::::::::::::::::::::::::::::::::::::
.:::::::::::::::::::::::::::::::::::::
.:::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::
:::::::::::::::::::::
::::::::::::::
:::::::::::
::::::::::
::::::