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