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