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