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