                           ,:+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?*+::,,,,,,            
                       ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S*:             
                    :+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+               
                ,+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:               
            ,:*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+               
         ,;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S               
      ,+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;              
   :+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%              
:*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SSSS#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*+:, ,,,,,,,:::::::;+*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?*+:,                       ,:+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,,,                              ,:+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                                       ,:+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?,                                           ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%?%#%,                                             ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?*@@#:                                               :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@??@%,                                                 ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#**,                                                    :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                                                      ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                                                      *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%??%%S?;                                                       ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:,,,,,,,                                                         ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                
@@@@@@@@@@@@@@@@@@@@@@@@@##@@@#*,                                                                  S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                 
@@@@@@@@@@@@@@@@@@@@@@##SSSSS#;                                                                    S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                  
@@@@@@@@@@@@@@@@@#SSSSSSSSSSS?,                                                                 ,:+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+                    
@@@@@@@@@@@@@@@@#SSSSSSSSSSS%,                             ,                                ,;*S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                     
@@@@@@@@@@@@@@@@SSSSSSSSSSSSS;                           ,?#S*:,                          :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+                       
@@@@@@@@@@@@@@#SSSSSSSSSSSSSS,                         :??%S#@@#?:                       +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                        
@@@@@@@@@@@@@@#SSSSSSSSSSSSSS*;,                     ,*@@@@S%%%%S%*:,::::;+*?????*+;::;*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                          
@@@@@@@@@@@@@@#SSSSSSSSSSSSSSSS%*:                 ,+#@@@@@@@@@@@@@@@@@@@#SSSSSSS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                            
@@@@@@@@@@@@@@@SSSSSSSSSSSSSSSSSSS?*+,            ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                              
@@@@@@@@@@@@@@@#SSSSSSSSSSSSSSSSSSSSS*;;;,  ,,,:+?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                                
@@@@@@@@@@@@@@@@#SSSSSSSSSSSSSSSSSSSSSSSS%?%%SSSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                                  
@@@@@@@@@@@@@@@@@#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                                     
@@@@@@@@@@@@@@@@@@#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,                                       
@@@@@@@@@@@@@@@@@@@@#SSSSSSSSSSSSSSSSSSSSSSSSSSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                                          
@@@@@@@@@@@@@@@@@@@@@@##SSSSSSSSSSSSSSSSSSSSSSSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+:                                             
@@@@@@@@@@@@@@@@@@@@@@@@@#SSSSSSSSSSSSSSSSSSSS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+:                                                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SSSSSSSSSSSSSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:                                                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+,                                                         