..,,:~~~=========+++++++++++++??????????+++=~~:::,,.............................,~~=====================================================~~~~================~~~~====~~~~~~~~~~~~~~~~~~~~~~~~~~~~::::::::
.,,::~~~===========++++++++++????????????+++==~~::,,............................,:~~=====================================================~~==================~~~====~~~~~~~==~=~~~~~==~~=~~~~~~~~~~~~~~~
,,::~~~===================++++????????????++++==~~::,............................,:~~====================================================~~=========================~~~~~====~~~~~~~~~~~~~~~~~~~~~~~~~~~
,::~~~~===========~~~~~~~~~===++++????????++++++==~::,...........................,:~~====================================================~~==========================~~~========~~~~~~=~~~~~~~~=~~~~~~~~
,::~~=~~~~========~~~~~:::::~~~===++++++?+++++++++==~:,...........................,:~~===================================================~~==========================~~~==============~=========~~~~~~~~
::~~~~~~~~~~~~~~~~~~~~::::,,:::::~~===+++++++++++++==~:,..........................,:~~===================================================~~==========================~~~=========================~~~====
:~~~~~~~~~~~~~~~~:::::::::,,,,::::~~~==++++++++++++===~:,..........................,:~===================================================~~==========================~~~=========================~~~~===
~~=~~~~~~~~~~::::::::,,,:,,,,,,,::::~~===++++++++=====~~:,.........................,:~~==================================================~~===========================~~=========================~~~====
~~~~~~::::::~~~~~==~~~:::,,,,,,,,::::~~===+++++========~~:,.........................,:~==================================================~~===========================~~=========================~~~====
~~~~~::::::~~=========~~::,,,,,,,,:::~~===++++=====~~~~~~:,,........................,:~==================================================~~===========================~~=========================~~~====
::::::::::~~=====++++===~::,,,,,,,:::~~==+++++====~~~~:::::,.........................,~==================================================~~===========================~~=========================~~~====
:::::::::~~~~===++++====~~::,,,,,,::~~==++++++===~~~::,,,,,,.........................,~~=================================================~~===========================~~=========================~~~~==~
:::::::::~~~~===++++===~~~~:::,,,,::~~==++??++===~~::,,,,,............................:~=================================================~~===========================~~=========================~~~~~~=
::::::::::~~~========~~~~~~::::,,::~~===++???++==~::,,,,,.............................,~~================================================~~===========================~~=========================~~~~=~~
:::::::::::::::::~~~::::::~~~:::::~~~==+++???++==~:,,,,,,,,,,............,............,:~================================================~~===========================~~=========================~~~~===
~~~~::,,,,,,,......,,,,,,::~~~~~~~~====++++??++==~:,,,,,,,,,,,,.......................,:~================================================~~===========================~~=========================~~~~===
~~~::,...............,,,,,,::~========+++++?+++==~:,,,,,,,,,,,.,,......................,~~===============================================~~===========================~~=========================~~~====
~~~::,,,............,,,::~~~~===+++++++++++?+++==:,,,,,,,,,,,,,,,,,....................,:~~==============================================~~===========================~~=========================~~~====
==~~::::,,,.....,,,,,::~~===+++++++++++++++?+++=~:,,,,,,,,,,,,,,,,,....................,:~~~=============================================~~===========================~~=========================~~~====
======~~~::::::::::~~====+++++++++++++++++???++==~:,,,,,,:::~~~::,,,...................,:~~================~============================~~~===========================~~============~~===========~~~====
+++=================++++++++++++++++++++++???++=~~:,,,,,,:~~==~~~:,,...................,:~~==========================================~=~~~~~~~~~~~~~====~=============~~=========================~~~====
++++++++++++++++++++++++++++++++++++++++++???++=~~::,,,,,,:~===~~::,...................,:~===============================================~~~======~~~~~~~~~==~~~~~~~~~~~~========================~~~~===
++++++++++++++++++++++++++++++++++++++++++??+++=~~:::,,,...,,::::::,,..................,:~==========================================================================~~~~~~~~~~~~~~~~~~~~~~~~~~~=~~~~====
====+++++++++++++++++++++++++++===+++++++??++++=~~:~~:::,,.....,,,,,,..................,:~============================================================================~~~========~~~~~~~~~~~~~~~~~~~~~~~
======++++++++++++++++++++++======+++++++???+++==~::~~~~::,.......,,,..................,:~============================================================================~~===================~~~~~~~~~~~~~
========+++++++++++++++++++======+++++++?????++==~~::~~~~::,,..........................,:~===============================================~============================~~=========================~~~====
===.+=+=+..~++=+++++++++++======++++++++????++===~:::~~==~~:,,.........................,:~===============================================~~===========================~~=========================~~~====
==.I:,=.++=+=++++++++++++======+======+++??+++===~~::~~===~~:,,,........................:~===============================================~~===========================~~=========================~~~====
==.:~~.......=+++++++++==========~~~~~~=========~~~::~~=====~~:,,,......................:~===============================================~~===========================~~=========================~~~====
====.7=:~~::,=+++++++=======~~~~::::::::~~~~~~~~~~~::~========~~:,,.....................,~~==============================================~===========================~~~=========================~~~====
~~==..==:~:,=+=+++++======~~::::,,,,,,::::::::::::::~~=========~~:,,,...................,:~==============================================~============================~~=========================~~~====
===~..====================::,,,.....,,,,,,,,,,,,,,,:~============~~:,,,..................:~~=============================================~============================~~=========================~~~====
~~===..=================+=:,,,,......,,,,,,,,,,,,,,::~============~~~:,,,................:~~============================================~~============================~~=========================~~~====
~~~~~=..==~===========+++=::,,,,,,,,,,,,,,,,,,,,,,,,:~=============~~~::,................,~~==========================================================================~~==========================~~~===
~~~~~~==.=======+++++++++=:,,,,,,,,,,,,,,,,,......,,,~===============~~~:,...............,:~=============================================~============================~~=========================~~~~===
~~~~~~~~=..======++++++?+=.......,,,,,,,,,,,,,.,.,,,:~===========~==~~~~~,,..............,:~==========================================================================~~=========================~~~~===
~~~~~~~~~=~......................~::,,,,,,,,,,,,,,,,:~===========~=~~~~~~:,..............,:~=============================================~============================~~==========================~~~===
~~~~~~~=~~~~=............+++++++++=~:,,,,,,,,,,,,,,::~==========~~.~~~~:::,,.............,:~=============================================~~===========================~~==========================~~====
~~~~~~~~~==~====+++++++=+++++++++++=~:,,,,,,,,,..,,::~=====~~~~~,....:~::::,.............,:~=============================================~============================~~=========================~~~====
~~~~~~~~~=====~==~======+============~~:::,,,,,,,...:~=~~~~~~~~~...~:.:::::,.............,~==============================================~============================~~=========================~~~~===
~~~~~~~~~=====~~~~~=====~~~~~~~~~~~~~~~~::,,,,,,,,,..~=~~~~~~~~~:~.:~::::::,............,:~==============================================~~===========================~~=========================~~~~===
~~~~~~~~~~~~~~:::~~~~~::::::::::::::::~~::,,,,,,,,,:.~~~~~~~~:::::.:::::::,,............,:~==============================================~~===========================~~=========================~~~~===
~~~~~~~~~~~::,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::.=~~~~~:::...:::::::,,...........,:~~==============================================~~==========================~~~=========================~~~~===
~~~~~~~~~~::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::~..~:~::...7,:::::::,............,:~================~=============================~~~==========================~~~=========================~~~~===
~~~~~~~~~~:::,,:::::~~~~~~~~~~~::,,...,,,,,,,,,,,,,,::~~~.......7:::,::::,,...........,::~~~~~~~=~==~~~~~~~=============================~~~==========================~~~=========================~~~~===
~~~~~~~~~~~~~==============++++++==~~:,,,...,,,,,,,,,:::::::::::::,:::::,,............:~~~===============~~~~==~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~==~~~====================~~=========================~~~~===
~~~~~~~~~~~==================+++=======~::,,...,,,,,,::::::::::::,,,::,,,.............~~==================~===================~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~========================~~~~===
~~~~~~~~~=========~~~~~~~~~~~============~~:,,.,,,,,,,:::::::::::,,,,,,,,............,~=================================================~~~====~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~===
::::~~~~~~========~~~~:::::::~~~~~~===~~~~~::,,.....,,,,::::::,,,,,,,,,,,............,~~================================================~~=========================~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::::~~~~~~~~======~~~~:::,,,,:::::::~~~~::::::,,,...,,,,::::::,,,,,,,,,,............,:~=================================================~~===========================~~~~=============~=====~~==~~~~~~~~
:::::~~~~~~~~~===~~~~~:::,,,,,,,,,,,,::::::::,,,,,,,,,:::::::,,,,,,,,,,,............,:~~==================~=============================~~===========================~~~~=~======================~~~~~~=
:::::::~~~~~~~~~=====~~~::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::,,,,,,,,,,............,:~~~~================~~============================~~~~==========================~~~~=~======================~~~~~~~
::::::::~~~~~~~~=======~~~::,,,,,,,,,,,,,,,,,,,,,,:::~~~:::::,,,,,,,,,,............,:~~~=================~~=============================~~~==========================~~~~========================~~~~~=~
::::::::~~~~~~~=============~:::,,,,,,,,,,,,,,,,:::::~~~::::,,,,,,,,,,.............,::~~=================~~=============================~~~==========================~~~~========================~~~~~~~
::::::~~~~~~~========++++++++===~~::,,,,,,,,,::::::::::::::,,,,:,,,,,,.......,,....,,:~==================~~=============================~~~==========================~~~~=========~~~~~==========~~~~~~~
::::::~~~~~~========++++++++++++===~~~::::::::::::::::::::,,,,,,:,,,,......,,,,....,,:~~=================~~=============================~~~==========================~~~~=========~~=~=====~====~~~~~~~~
====================++++++++++++++=====~~~~~~~::::::::::::,,,,::,,,,,.....,,,,.....,,:~==================~~=============================~~~==========================~~~~=================~~~==~~~~~~~~~
7777777777777IIIIIIIII??????????????????++++++++++++=+=========~~~~:,,,,.,,,,......,,,~~=================~~============================~~~~==========================~~~~~~==============~~~~~==~~~~~~~~
+++++++??++???????IIIIIIII77777777777777777777777777777777777III??++=~~::,::,......,,,~~=================~~============================~~~~==========================~~~~~===============~~~~~==~~~~~~~~
::~~~~~~~~=~~~~~~=~~~=~~~~~~~~~~~~~~=====================================+??=,,,..,,,,~~=================~~============================~~~~==========================~~~~~~==~~==~======~~~~~==~~~~~~~~~
??IIIIIIIIIIIIIIII????++++===~~::::::::~:,,,,,,,,,,:::::::::~~~~~~~~~~~~~~~~=++,,,,,,,~~=================~~============================~~~~==========================~~~~~~==~~==~======~~~~~==~~~~~~~~~
,,,,,,,,,,,,,,,,,,,,,,,.............,,,,,,,:~~~=~==~=~~~~~~=~~:::::,,....,::~~=+:,::,,~~=================~~============================~~~~=======~~=================~~~~~~==~~=~~~~~~==~~~~===~~~~~~~~~
................................................,..,.,,,,,...................:~~==~:,,~~=================~~============================~~~~==========~~~=============~~~~=~~~~~~~~====~~~~~~=~~~~~~~~~~~
................................................,,,.,,,,......................,:~==:,:~~=================~~============================~~~~==========================~~~~=~===~~======~~~~~~=~~~~~~~~~~~
.................................................,,,,..........................,~~=~::~~=================~~============================~~~~=========================~~~~~===============~~====~~~~~~~~~~
................................................................................,~~=~~~~================~~~============================~~~~==========================~~~~==========~~~=~~~===~~~~~~~~~~~
.................................................................................:~~=~~~~===============~~~===========================~~~~~====~~====================~~~~=============~~~~=~~~~~~~~~~~~~
.................................................................................,~~=~~~================~~~============================~~~~=================~========~~~~=====~============~~~~~~~~~~~~~
.................................................................................,~~====================~~~============================~~~~=================~~=======~~~~==================~~~~~~~~~~~~~
..................................................................................:~~~==================~~~============================~~~~=================~~=======~~~~=================~~~~~~~~~~~~~~
..................................................................................:~~===================~~~============================~~~~==========================~~~~=================~~~~~~~~~~~~~~
..................................................................................:~~=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=====~~~~~~~~=========~~======~=======~~~~~~========~~~~===~~~~~~~~~~~~~~~
..................................................................................:~~=~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................:~~========~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~
.............................................................,~,..................:~~===================~~~~===========================~~~~=============~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~
..................................................................................:~~~==~===============~~~~===========================~~~~=================~~~=====~~~~~=~=======~~~~===~~~~~~~~~~~~~~~
..................................................................................:~~~=~================~~~~=========~~================~~~~=========~===============~~~~~~~~~==========~~~~~~~~~~~~~~~~~
..................................................................................:~~~=~~~~~~===========~~~~===========================~~~~~========~=====~~=======~~~~~~~~~~~========~~~~~~~~~~~~~~~~~~
..................................................................................:~~~=~~~~~~~~~=======~~~~~===========~===============~~~~~==============~~====~~~~~~~~~~~~~~~~======~~~~~~~~~~~~~~~~~~
..................................................................................:~~~~~~~~~~~~~=======~~~~~=======~~~~~===============~~~~~========~~~~==~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................:~~~~~~~~~~~~~~~=====~~~~~===~~~~~~~~~===~~==========~~~~~~===~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................:~~~~~~~~~~~~~~~~~===~~~~~~=~====~~~~~~~~~~~=========~~~~~=~===~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................,~~~~~~~~~~~~~~~~~~~~~~~~~~=~~~~~~~~~~~~~~~~~~~~====~~~~~~=====~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~===~~~~~~~~==~~=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................,:~~::::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................,:~~.......,,::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................,:~~.............,,:::::~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................,:~~.................,,,:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..................................................................................,:~~........................,,,,::::~:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~
..................................................................................,:~~.................................,,,,:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,:~~.....................................,:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,:~~......................................,,:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
...................................................................,,.............,:~~........................................,::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,:~~..........................................,,:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
..................................................................................,::~..............................................,:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
..................................................................................,:~~...............................................,,::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
................................................................,,................,::~.................................................,,:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,::~...................................................,:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,::~....................................................,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,::~......................................................,::::~~~~~~~~~~~::~~~::::::::::::::::::::::::~::::::::::::::
..................................................................................,::~.......................................................,::~~~~~~~~~~~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~
..................................................................................,::~........................................................,:~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,::~.........................................................,:~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,::~..........................................................,:~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,::~...........................................................,~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~
..................................................................................,::~............................................................:~~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~
..................................................................................,:::............................................................,:~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~
..................................................................................,:::.............................................................:~~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~
..................................................................................,:::.............................................................,:~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.........................................................................::.......,::~..............................................................,~~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.......................................................................,,.,,,,....,:::~==~::,.......................................................,:~~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.,,....................................................................,,,,,,,....,:::===+++++:......................................................,:~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
,......................................................................,,,,,,,,...,:::==++?++++~.....................................................,:~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.......................................................................,,,,,,,,...,:::===+++++++~....................................................,:~~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
,,.....................................................................,,,,,,,,...,:::~==++++++==~....................................................,:~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.......................................................................,,,,,,,,...,:::~===+++++===:...................................................,:~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.......................................................................,,,,,,,,...,:::~~===========:..................................................,:~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.......................................................................,,,,,,,....,:::~~~========~~~..................................................,:~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
,,.....................................................................,,,,,,,,...,::::~~~~~~~~~~~~~~,................................................,:~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
.......................................................................,,,,,,,,...,::::::~~~~~~~~~~~==~................................................:~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~
,,.....................................................................,,,,,,,,...,:::::::~~~~::::::=+=~,..............................................:~~~~~~~~~~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~
.,,....................................................................,,,,,,,,....:::::::::::::::::~===~..............................................,:~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~
.......................................................................,,,,,,,,...,:::,,::::::::::::~=~~~~.............................................,:~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~::~~~~~
.......................................................................,,,,,,,,....:::,,,,,:::::::::~~~~~~:............................................,:~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~~
,,.....................................................................,,:,,,,,....:::,,,,,,,,::::::::~~~~=~,....,,,,,.................................,:~~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~:::::::::::
.......................................................................,,::,,:,....:::,,,,,,,,,:::::::::~~~~=~,,.,,,,,.................................,::::::::::::::::::::::::::::::::::::::::::::::::
.......................................................................,,::,,,,...,:::,,,,,,,,,,::::::::~~~~==~,,,,,,,,,...............................,::::::::::::::::::::::::::~~~:~~~~~~~~~~::::~~~~
.......................................................................,,,,,,,,...,:::,,,,,,,,,,,::::::::~~~===~,,,:,,,,,,.............................,::~~~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~::::~~~~
,,,....................................................................,::::::,...,:::,,,,,,,,,,,::::::::::~~===~~===++++++++=:,.......................,:~~~~~:::~:::::~~~~~~~~~~~~~~~~~~~~~~~~~:::~~~~~
,.......................................................................,,,,.......:::,,,,,,,,,,,,:::::::::~~~===+++++++??++++++=~.....................,:~~~~::::~:::::~~~~~~~~~~~~~~~::::~~~~~~::::~~~~
...................................................................................:::,,,,,,,,,,,,:::::::::~====++++++??????+?+++++~,..................,::~:~::::~:::::~~~~~~~~~~~~~:::::~~~~~~~:::::~~~
..,................................................................................:::,,,,,,,,,,,,,,:::::~===+++++++++????????+++++++=:................,:~~~~~~~:~::::::~:~::~~~~~:::::~~~~~~~~:::::~~~~
,..................................................................................::::,,,,,,,,,,,,,,:::~====+++++++++????????+++++++++=:..............,::~:~~:::~::::::~:::::~~:::::~~~~~~~::::::::~~::
,..................................................................................:::::,,,,,,,,,,,,,,:~=======+++++++++???????+++++++++==:............,::~:::::::::::::::::::::::::::::~~:::::::::::~::
,.,................................................................................:::::,,,,,,,,,,,,,:~~========+++++++++++?????+++++++++==~...........,::::::::::::::::::::::::::::~~::::::::::::::::::
.,.................................................................................:::,,,,,,,,,,,,,,::~~=========++++++++++????+++++++++====~,.........,:::::::::~::::::::::::::::::::::::::::::::::::::
...................................................................................:::,,,,,,......,,::~~==========++++++++++++++++++++++======:........,::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,,,,,,.....,,,:~~~=============++++++++++++++=+==========:.......,::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,,,,,,,..,,,,::~~~=================++++++++===============:......,::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,,,,,...,,,,,::~~~~========================================~.....,::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,,,,...,,,,,,:~~~~~~~=======================~~~~~~~~~~~=====,...,:::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,.,..,,,,,,,,:~~~~~~~~=======~==~~~~~~~~~~~~~~~~~~~~~~~~~~=~~,..,:::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,..,,,,,,::::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:.,:::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,.,,,,,:::::~~~~=~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::~~~~~~~,:::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:::,,,,,:::::~~~~~~~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................::~,,,:::::~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................::~:::::~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::~~~~~:::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................::~:::~~~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::~~~~::::::::::::::::::::::::::::::::::::::::::::::
...................................................................................::~:::~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::::::::::::::~~~~:::::::::::::::::::::::::::::::::::::::::::::
...................................................................................:~~::~~~~~~~~~~~~~~~~::::::::::::::::::::::::,,,:::::::::::::::::::::~~~~::::::::::::::::::::::::::::::::::::,:::::::
...................................................................................::~::~~~~~~~~~~~~~~~::::::::::::::::::::::::,,,:::::::::::::::::::::::~~~~:::::::,::::::::::::::::::::::::::,,,,,,,,,
...................................................................................:~~::~~~~~~~~~~~~:~::::::::::::::::::::::,,,,,,,::,,,,,,::::::::::::::~~~~:::::,,,,,,,,,,,:::::::::::::::::::::::::::
...................................................................................:~~::~~~~~~~~~~~~~~:~::::::::::::::::::::,,,,,,,,,,,,,,,,,,:::::::::::::~~~:::::,,:::::::::::::::::::::::::::::::::::
...................................................................................:~~:::~~~~~~~~~::~~~~:::::~===++++++====~~~:::,,,,,,,,,,,,,,,,,::::::::::::::::::,:::::::::::::::::::::::::::::::::::
...................................................................................:~~:::::~:~::~~~~~~~:::=+++++++++++++++++++======~~:::,,,,,,,,,::::::::::::::::::,:::::::::::::::::::::::::::::::::::
...................................................................................:~~,,::::::::~=~~~~~~=++++++++++++++++++++++++++=====~~~~::,,,,::,::,::::::::::::,:::::::::::::::::::::::::::,:::::::
...................................................................................~~~,,,,:::~~~::~:~===++++++++??+++++++++++++++++++=========~~~~::::::::::,::::::,,::::::::::::::::::::::::::,,:::::::
...................................................................................:~~,,,,::::~:::~===++++++++??+?+++++++++++++++++++++++==========~~~~~~::,:::::::,,::::::::::::::::::::::::::,,:::::::
...................................................................................~~~,,,,:::::::=====+++++++++++++++++++++++++++++++++++++===============~::::::::,,::::::::::::::::::::::::::,,:::::::
...................................................................................:~~,.,,,,,:~========++++++++++++++++++++++++++++++++======================~:::::,,::::::::::::::::::::::::::,,:::::::
...................................................................................:~~,,,,,,,==========+++++=+++++++++++++++++++++++++========================~~:::,,::::::::::::::::::::::::::,,:::,,,:
...................................................................................~~~,,,,,:=============++=++++++=++++++++++++++=+=============================:::,,::::::::::::::::::::::::::,,::::,,,
...................................................................................~~~,,,:~=======================~=++===========================================~:,,:::::::::::::::::::::::::,,,::::,,,
...................................................................................~~~,,~========================~~==============================================~:,,:::::::::::::::::::::::::,,,::::,,,
...................................................................................:~:~=========================~~~~~================~============================~~,:,::::::::::::::::::::::,,,,,,:,,::
...................................................................................:~~~~=====================~~~~::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=============~::::::::::::::::::::::,:,,,,,,:,:::
..................................................................................,~~~~=~================~~~~~~~~:::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~===========~::::::::::::::::::::,,,,,,,,,:::,:
................................................................................,~~~~~~============~~~~~~~~~~~~~~::::~~~~~~~~~~~::::::::~~~~~~~~~~~~~~~~~~~~~~~=====~~~,::::::::,,,,,,,:,,,,,,,,,::,,,,:
...............................................................................:~~============~~~~~~~~~~~~~~~~:::::::::::::::::::::::::::::::::::::~:~~~~~~~~~~~~~~~~~~:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.............................................................................,~~=============~~~~~~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
...........................................................................,~=~===========~===~~~~~~~~~~::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
                                                                                                                                                                                         GlassGiant.com