@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:::::::;++;::,,:+*%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                     ,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                         ,*#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                             ,:,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                   ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                     ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%S@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                                     ,+#@@@#SS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%;                                       %?%%?S@@@@@@@@@@@SSSS@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SSSSSS%?+;,,,                                          :S?+?#@@@@@@@@@@@@#*?%@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+:                                                       ,,;#@@@#@@@@@@@#@S**#?S#S?S#S#@##S#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@S@@@@@@@@@@@S*;:,                                                           ;@@@#%@##@@#@%++%S%*+%#SS%%SSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@#*#@@@@@%*++;,                                                             ,?@@@@?SSS####+;*????%%SS%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@%*:,                                                                  ?@#S%%+?#@@S?*+S###S@#S@@%%####@@@@@@@@@@@@@@@@@@S#@@@@@@@@@@
@@@@@@@@@@@@@@@@@#*:                                                                     ;?*++?%%?*+*%?%SS##%+*+%*+;?%%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@
S@@@@@@@@@@@@@@@@?,                                                                      :+*;::;:;+?%S#@@@@#?;*::*%?%SS####@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@%;,                                                                   ,+S%+,:***SS#@@@@@@@S;:;;?S####@@#@@@@@@@@@##S#@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@S+,                                                                    ,:,;%#S*%#@@@@@@@#?+;%@@#S##SS#@@@@@@@@@S@S?*#@@@@@@@@@@@#@@@@
@@@@@@@@@@@@@@@@@?:                                                                        ;S#*;?S#S???+;+*?????%###SS@@@@@@@@@@*#@;?@@@@@@@@@@#%?%S@@
@@@@@@@@@@@@@@@@@S+,                                                                        ,;:+;:;+?S########S#S%*+?%%%%#@#@S@@%+?;@@@@##S??**??%S#@@
@@@@@@@@@@@@@@#S*;:                                                                            ;??S@@@@@@@@@@@@@#?;+*?%S#@@@@%?#@+:SS%##SS+;;+?%SS#@@@
@@@@@@@@@@#S?;:                                                                                ;##@#@@@@@@@#%?%?++**%%##@@@@@@+%*:%S?+#?:::*SS##@@@@@@
@@@@@@@@@S*:                                                                                    ;S%*+++*+++++*?*+??%S@@@@@@@@@#;,+++;,;+**?%####@@@@@@
@@@@@@@S?:,                                                                                      ::*?*++*?##S%S%*S@@@@@@@@@#??%,,::,,;+***?S@@@@@@@@@@
@@@@@@#?;                                                                                        :;+%?%%%???%S**#@@@###SS%*:+,  ,,::;:;?S##@@@@@@@@@@@
@@@@@#?;                                                                                          ,+S@@S#@@?;+SS?+*?%SS%+:;:+::+*?%%%*S####@@@@@@@@@@@
@@@@@%+,                                                                                          ,*;?S@@S?++***?S##%?*+;+?%#@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@%;,                                                                                          ,;,+?+;;+?S##S*++*?%S@@@@@@@#@@@@@@@@@@@@@@@@@@#@@@@
@@@@@#*:                                                                                           ,,:+S#@@@S*++?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@S+:                                                                                            :@@@%+:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@%+,                                                                                           +?;::+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@S+:,                                                                                       ,:;*?%#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@S?
@@@@@@@@@#?+:,                                                                                  ;%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:, 
@@@@@@@@@@@@@S*;,                                                                           ,+??S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,  
@@@@@@@@@@@@@@@%,                                                                 ,,,       ;S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+
@@@@@@@@@@@@@@@%,       ,,              ,;;,,, ,,,,                        :%S%%%S##*,     +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@S+       ,:   ,**???+++*%#@@@#######S%*+;:::+*??%SSS%%%%S??%@@@@@@@@@;      *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@S*+;:, ,           ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:      ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#,                  ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,       ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@#:                +S%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,        ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@S;, ::,            S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*          ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@#; ,?@@?           ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+          ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@