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