::::---::::... ...:::::--::::....
:::----::::..... ....::::----:::::....
::::::::::::........:::::::::::::::::.....
::::::......::::::-------::::::......:::::
-:::........:::---=====---:::........:::--
--::.. ...:--==+++++==--::.. ...:--=
==-:.. .::-==++***++==-::. ..:-=
*+=--:. .::-=++******+=--:.. ..:-
#**+=-:.. ..:-=+**####**+=-::. ..:
####*+=-:.. .:--=+*######*+=-::. .
#%%%##*+=-::. .:-=+**#%%%%#**+=-:.
*#%%%%%%#*+=-:. .:-=+*#%%%%%%#*+=-:.
=+*#%@@@@%#*+=-:.. .:-=+*#%%@@@%%#*=-:.
:-=+*#%%@@@%%#*+-:.. .::=+*#%%@@@%%#*+=
..:-=+*#%%%%%#*+=-:.. ..:-=+*#%%%%%##*
..:-=+*##%%%##*+=-:.. ..:-=+*##%%%##
. ..::-=+**####**+=--:.. ..::-=+**####
... ..::-==++*****++==-::.. ...:--=++***
::......::--==+++++++==--::......::--==+++
::::::::::----=======----::::::::::----===
:::::::-------------::::::::::::----------
::::-----------::::......::::-----------::
.::---=====---::... ...:::--=====---::.
.:::---===---::... ...::---===---::..
..:::------:::... ...:::------:::...
..::::::::::...............::::::::::.....