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