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