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