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