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