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