@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                                                                             ,;*S@@@@@S+:                             
@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                                                                 :+%#@@@@@@%+,                          
@@@@@@@@@@@@@@@@@@@@@@@@%+,                                                                                     ,;*S@@@@@@@#?;                        
@@@@@@@@@@@@@@@@@@@@@@?:                                                                                         ,;*S@@@@@@@@@S+,                     
@@@@@@@@@@@@@@@@@@@#*:                                                                                            ,;*S@@@@@@@@@@#+,                   
@@@@@@@@@@@@@@@@@@?,                                                        ,:+*?SSSS%?+:,                         ,+?#@@@@@@@@@@@#+,                 
@@@@@@@@@@@@@@@@%:                                                       ,:+?S@@@@@@@@@@@S+:,                      ,;*%@@@@@@@@@@@@@S;                
@@@@@@@@@@@@@@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?+,           :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,          
@@@@@@@@@@@@+               ,:+%#@@@@@@@@@@@@@@@@@@@@@@@#%+:            ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+            
@@@@@@@@@@@@@%,             ,:*%#@@@@@@@@@@@@@@@@@@@@@@@@%*:            ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:             
@@@@@@@@@@@@@@#+             :+%#@@@@@@@@@@@@@@@@@@@@@@@@#%+:          ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,              
@@@@@@@@@@@@@@@@%:           ,;?S@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,,  ,,:+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                
@@@@@@@@@@@@@@@@@@?:          :*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                  
@@@@@@@@@@@@@@@@@@@@?:        ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                    
@@@@@@@@@@@@@@@@@@@@@@%;,      ,;?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                      
@@@@@@@@@@@@@@@@@@@@@@@@#*:     ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,    :+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,  ,:*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+,                             