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