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