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