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