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