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