,,,,,,,,,,,,,,,,::::,:::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,::,::::::::::::::::::::::::::::::::::::::::::::
,,,,,,,,,,::::::::::::::::::~:::::::::::::::::::::::::::::::
,,,,,,::::::::::::::::~~==?7$$$$ZZZ$~~::::::::::::::::::::::
,,,,,,:,::::::::::~~?$Z$ZOOOOOOOOOOOOOOZZ?::~:::::::::::::::
,,,,:::::::::::~~=$ZZZOOOOOO88O8OOOOO8O8OOOZ+~::::::::::::::
,,:,::::::,::~+OZZO88OO8OOOOO8OO8O8888888888OOI+::::::::::::
,,::::::::~:$ZZO88888O88ZZOO88888O8OO888888888OO+:~:::::::::
,,:::::::::$ZO888888OOOOOOOZZZ$$$$$ZZZZO8888888O7+~:~:::::::
::::::::~IOO88888OOOOZZ$II?++++++++???II$Z888D88O++~::::::::
::::::::~ZOOO88OOOZ$7II?++++====+++++??II7ZO888D88$~~:::::::
::::::~=$888Z$ZO77?+++++============++++?I7$ZO8888O~~:::::::
::::::~IO8887$7+++==========~=~=====+++????7$O888OO?~~::::::
::::::=OOO8ZI?++++=======~=~==~=====+++++??I7Z8888OI~~~~~~::
:::::~=OO8O7?+++====================++++++??IZO8O887~~:~~:::
:::::~?O8OO$?+++=====================++++++?I7O88OOZ==~~~~::
:::::~?Z88O7?+++=======================++++??IZ888OZ=~~~~~~:
::::~~+O8OZ?+++++=============~=====++++++???I788887=~~~~~~~
::::~~~ZOO$??+++++++++============+++??+?????I7O888?~~~~~~~~
::::~~=ZOOI????7$ZZZO$7I?++=+++++?I7$ZOOZ$II?II788O?~~~~~~~~
::~~~~==O8???$$7II?II77777I++++?I77$77III7$$ZIII888+~~~~~~~~
::~~~~~~OO??I7?????I?IIIII?++++?I777II??IIIII7?I88O=~=~~~~~~
~~~~~~~?7O?????I$$888OZ$77I+=++?7$ZZ8888O$$II??IO8II==~~~~~~
~~~~~~~$77?++??7$7?$ZIII?I?++=+?I7I77$OI$Z7I????$O$7===~~~~~
~~~~~~=777?++++??IIIIII???+++=+??IIIIIIIIII?????I77I====~~~~
~~~~~~~I??+++++++++++++++++++++?????????+?+++????II?=====~~~
~~~~~~~I??++++++++++++++++++++++????++++?+++?????II====~=~~~
~~~~~~~=??++++++++++=++++??+++=++II?+++++?++?????I7========~
~~~~~~~~I?++++++++=+=+++????++++I???++++?+??????II+========~
~~~~~~~~+?++++++++++++++???II?II$II?+++?+??????III=========~
~~~~~~~~+??+++++++++++++?I7III777$I??+++??+???IIII========~~
~~~~~~~~~+=?+++++++++++++????????I?????????????I==========~~
~~~~~~~~~~~+++++?+++?++????++?++??????????????II==~======~~~
~~~~~~~~~~~~++?+++++????+??IIII7II?IIII??????II+==========~~
~~~~~~~~~~~~?+++++????7$77777777$ZZ8O$???????II=====~====~~~
~~~~~~~~~~~~=++++?++????I7$77II7I7IIII??+????II===========~~
~~~~~~~~~~~~~??++++++?????????????II????????II$=~=~~==~=~~~~
~~~~~~~~~~~~~+?++??+?+??????????I?????????III7$===~~~~~~~~~~
~~~~~~~~~~~+~~???????+??????IIIIII???I???III77Z===~~~~~~~=~~
~~~~~~~~~~=~~~?????????????????????????IIII777Z====~~~~~~~~~
::::~:::~=7~~~~III?????????????++?????IIII7777Z=====~~~~~~~~
::::::::~+=::~~IZ7III?????????II?IIIIII777777Z7===~~~~~~~~~~
:::::::::+~:::~=ZZ77IIII??????II?IIIII7777777O+===~~~~~~~~~~
::::::~::+~::::~=$ZZ$IIIIIIIIIIIII777I77777$Z7~=~=~~~~~~~~::
:,:,:~:::::::::::~ZZZ$77IIIIIIII7777777777$ZO=~~~~~~~::~::~~
::,:::::::::::::::=ZOZZ$IIIIIIIIII77II777$ZO$~~~~~~~~~~:~~~~
::::::::::::::::::==+ZOZ$7IIIIIIIIIIII7$ZZO$+:~~~~~~~~::~~~:
:::::::::::::::?+?++=~+ZZ$7IIIIIIIIII7$$ZOI=::~~~~~~~::~:~~:
::::::::::::::?I?++==~~~Z$$7IIIIIIII77$ZZZ?~::~~~~~~~:~~:~~~
::::::::::~::=III?+==~===~$7II?I??II7$Z$Z=+7=~~~~~~~~~~::~~:
::::,::::::::+?????==~~~~~~7II??I77777$?=:II?I~~~~~::::::~~: