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