@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*:,,,:;+%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@S+++*?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,,         ,:;+*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@%:     ,,:;*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                   ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@%,           ,:+*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                        *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@S,                 ,;?%##@@@@@@@@@@@@@@@@@@@@@@@@@@@#+,                          ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@S,               ,;:::,,,,:+*?S#@@@@@@@@@@@@@@@@@@@#*,                            ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@#:               :#@@@@@#%?+;:, ,,:+*%S#@@@@@@@@@@@*,                               *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@;               ;#@@@@@@@@@@@@#S%*+:,, ,,:+*?%##@@S**+;;;,                        :S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@*               ;@@@@@@@@@@@@@@@@@@@@@#S%*+:,, ,,:;+?%S#S+                     ;*%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@S               +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%*+;:, ,,,                     ;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@:              ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%:,                   :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@%              ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                ,:;*?S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@;             ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##?,,::;                ,,::;+*?%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@#,             ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#@@+                  :+:,,   ,,::;+*?%S##@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@?             ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                  :%@@##S%?++;:,    ,,:;+;;*::++?S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@+             *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                    %@@@@@@@@@@@#S%?*+;:,        ,,,+??%SS##@@@@@@@@@@@@@@@@@@@@@
@@@;            ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                     ;#@@@@@@@@@@@@@@@@@@#,         ,     ,,,:;;+**?%SS###@@@@@@@@
@@@:            :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                      ,%@@@@@@@@@@##S%??*+,       :?##S%?*+;:,,       ,,,::;;+**??
@@@:            +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                         +#S%?*+;;::,,          ,;?@@@@@@@@@@@@#S%?*+;:,,          
@@@:            ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                            ,,               ,:;+%#@@@@@@@@@@@@@@@@@@@@@@@#S%?*+::,  
@@@;            %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+     :+                                ,:;+*%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%
@@@*            %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,     ;?,               :%%+:,,,,,:;+?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@S            ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                       ;@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@:           ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                    *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@%            %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:                 %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@+           :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                :*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@:           *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@#:          ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                    :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@#:          :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                       ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#:          ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                          ;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@#;          *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,                              ;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@#,         ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+:                                   +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@*         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                                     ,;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@*        +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:                                       ,?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@:       *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*:,                                          ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@S,      ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,                                              :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@S      ;@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:,                                                  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@#,     *@@@@@@@@@@@@@@@@@@@@@#%*;:,                                                       %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@+     *@@@@@@@@@@@@@@@@@@S*;,                                                            :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@#,    ;@@@@@@@@@@@@@@@#*:,                                                                %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@S,   ,?@@@@@@@@@@@@@@?,                                                                  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S
@@@@@@@@@@@@@S:   ,%@@@@@@@@@@@@@@%:,:,                                                               %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%%?*+;::,,
@@@@@@@@@@@@@@@*,  ,+S@@@@@@@@@@#S?+;:,                                                               +@@@@@@@@@@@@@@@@@@@@@@@##SS%??*+;::,,          
@@@@@@@@@@@@@@@@#?;, ,;*%#@@#%*;:,                                                                   ,?@@@@@@@@@@@###S%%?*++;::,,,                    
@@@@@@@@@@@@@@@@@@@#%*+;;;;;,                                                                       ,%@@##S%??*+;;:,,,                                