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