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