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