@S;                                                                                                                                                ,?@
+,                 ,,,,,,,,,::::,,,,,,,,,                                                                                                            :
            ,,,::;;;++++++*********++++;;;;::,,,                                                                                                      
       ,,::;++**???%%%%SSSSSSSSSSSSSS%%%%??***+;;::,,,                                                                                                
   ,,:;+**?%%SS####@@@@@@@@@@@@@@@@@@@@@@###SS%%??*++;:,,                                                                                             
,:;+*??%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%%?*++;:,                                                                                          
+*?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%%?*;;,,                                                                                       
S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?+;:,                                                                                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?*;:,                                                                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?*;:,                                                                                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%*;,                                                                                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?+:                                                                               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,                                                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                                                                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;,                                                                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                                                                           
@@@@@@@@@@@@@@@@@@@@@@@@##S%%??????%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                                                          
@@@@@@@@@@@@@@@@@@@@@@@S?*++;;::::;;+*?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                                                                          
@@@@@@@@@@@@@@@@@@@@@#?+::,,       ,,,:+*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                                   ,,:::;;;;:::,,                         
@@@@@@@@@@@@@@@@@@@@@?:,               ,:+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                ,:;++*????????*++:,                       
@@@@@@@@@@@@@@@@@@@@@;                   :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                               :+*%%S###@@@@###S%?*;,                     
@@@@@@@@@@@@@@@@@@@@#;,                  ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                              :*S#@@@@@@@@@@@@@@@#S?+:                    
@@@@@@@@@@@@@@@@@@@@@?;:,              ,:*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                             :%#@@@@@@@@@@@@@@@@@@@#%+,                   
@@@@@@@@@@@@@@@@@@@@@#?*;:,,,     ,,,::+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                             +@@@@@@@@@@@@@@@@@@@@@@@%,                   
@@@@@@@@@@@@@@@@@@@@@@#S?*++;;;;;;;++*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                             *@@@@@@@@@@@@@@@@@@@@@@@%,                   
@@@@@@@@@@@@@@@@@@@@@@@@@#S%%%%???%%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                             +S@@@@@@@@@@@@@@@@@@@@@#*                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:                            :*%#@@@@@@@@@@@@@@@@@#S?:                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                            :+?%S#@@@@@@@@@@@##S?+:                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;,                            ,:+*??%%SSSSS%%??*+:,                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?;,                             ,::;;+++++++;;:,,                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                ,,,,,,,,,                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+:                                                                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,                                                                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?+:,                                                                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%*;:,                                                              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*+:,,                                                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*+;:,,                                                     ,,:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?*+;:,,                                              ,,,:;+*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?**+;:,,,                                    ,,,,:;+**?%S
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%?**+;;::,,,,                      ,,,,,::;;+**?%S##@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%%?***++;;;::::,,,,,,,,,:::::;;;;++**??%%S##@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SSS%%???****************????%%%SS##@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####SSSSSSSSSSSSS####@@@@@@@@@@@@@@@@@@@
?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%
 :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S; 