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