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