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