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