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