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