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