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