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