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