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