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