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