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