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