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