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