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