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