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