@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                                                                                        ,+*+:                          
@@@@@@@@@@@@@@@@@@@@@@@@@#*:                                                                                             ,:++:                        
@@@@@@@@@@@@@@@@@@@@@@@%;,                                                                                                  ,;;:                      
@@@@@@@@@@@@@@@@@@@@#?:                                                                                                       ,:;:                    
@@@@@@@@@@@@@@@@@@#+,                                                                                                           ,;+:                  
@@@@@@@@@@@@@@@@#*,                                                                                                               :?*:                
@@@@@@@@@@@@@@@?,                                                                                                                  :?S*,              
@@@@@@@@@@@@@S;                                                                                                                     :?#S:             
@@@@@@@@@@@@*,                                                                              ,,:;++***+;:                            ,;?@@*,           
@@@@@@@@@@#+                                                                              ,;+*%S#@@@@@@@S*:                          :*S@@%,          
@@@@@@@@@#:                                                                              :+?S#@@@@@@@@@@@@@?:                        ,+%@@@S:         
@@@@@@@@S:                                                                              ,;?S@@@@@@@@@@@@@@@@?:                       ,;?#@@@#:        
@@@@@@@S:                                                                               ,;?#@@@@@@@@@@@@@@@#%+,                      ,;?#@@@@#:       
@@@@@@#:                                                                                 ,+#@@@@@@@@@@@@@@@S?;,                      ,+?#@@@@@#,      
@@@@@@;                                                                                   ,;S@@@@@@@@@@@@#%*+:                      ,:+%#@@@@@@%,     
@@@@@?                                                                                      ,;?S#@@@@#S%?*;:,                       ,+?S@@@@@@@@+     
@@@@#:                                                                                          ,:;;;;::,,                         ,;*%#@@@@@@@@#,    
@@@@?                                     ,,,,,,,,,,,,,                                                                           ,;*%#@@@@@@@@@@*    
@@@@:                             ,,::;++**??%%%%%%%%%%??*+;::,                                                                  ,;*%#@@@@@@@@@@@S,   
@@@S,                        ,,:;+*?%SS#@@@@@@@@@@@@@@@@@@@@@#S%?+:,                                                           ,:+?S@@@@@@@@@@@@@@;   
@@@?                     ,,:;+?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,                                                     ,:;*%#@@@@@@@@@@@@@@@*   
@@@*                   ,:;*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                                ,:+*%#@@@@@@@@@@@@@@@@@?   
@@@*                ,,;+?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                                            :;+?%#@@@@@@@@@@@@@@@@@@@?   
@@@*               ,;*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:,                                   ,,:;+?%S@@@@@@@@@@@@@@@@@@@@@@?   
@@@?             ,;+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;:,                          ,,:;+*?S#@@@@@@@@@@@@@@@@@@@@@@@@@+   
@@@S,           :;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%*+;::,,,,,, ,,,,,,,:::;+*?%SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:   
@@@@;         ,:+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SS%%??????%%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,   
@@@@?         :+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+    
@@@@@:       ,+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,    
@@@@@%,     ,:*%#@@@@@@@@@@@@@@@@@@@@@@@@@@#%?*;;::::;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;     
@@@@@@*     ,+?S@@@@@@@@@@@@@@@@@@@@@@@@@#%*;:,         :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?      
@@@@@@@;    :+?#@@@@@@@@@@@@@@@@@@@@@@@@@%*;,            :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,      
@@@@@@@#:   ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@%+,             :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,       
@@@@@@@@#;  ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@#*,            :+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:        
@@@@@@@@@@; ,+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,       ,:;*?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,         
@@@@@@@@@@@* :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*++++*?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,          
@@@@@@@@@@@@%:;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+            
@@@@@@@@@@@@@#*+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,             
@@@@@@@@@@@@@@@S?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;               
@@@@@@@@@@@@@@@@@S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                      
@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                            