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