#%?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                        ,+%#############SSSSSSSSSSSSSSS#@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                  ,       ,;%######SSSSSSSSSSSSSSSSSSSSSSS#@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                 :S%*:      ,;?S#######SSSS*?SSSSSSSSSSSS%%SS#@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,               ;S#@##%+:      :+++;;+?SSSSSSSSSSSSS%%%%%%%%%%S#@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,          ,;?#@######S%+:,       ,,,:+%SSSSSSS%%%%%%%%%%%%%%%S#
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*+;;;;+*?S#@###########S%?+;;;+*%%?: :%SSSS%%%%%%%%%%%%%%%%%%S
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%?@@@@@@@@@@@@@@@@S?*#@@@@@@@@@@@@@@@@@@@@############SSSSSSSSSSSS%**%SS%%%%%+?%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:   ?@@@@@@@@@@@@@@@@@@@@##########SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+;:;+*S?;      ,;+*%S@@@@@@@@@@@@#S#########SSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                ,***+;++?%#@@@@@@@?+S######SSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%?*?%%%%%%%?%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                   ?@@@@@@#%?*+*?%#@@@@@@@###SSSSSS%%%%%%%%%%%%%%%%??%%%%%??????*?????????*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,               ++:*@@@@@@@@@@@@@S%**+*?++*%SSS%%%%%%%%%%%%%%%?????????????????????????????%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                *@@@@@@@@@@@@@#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#@@@*                     :+;:::;+?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@*       ,,:;:;%S%?++:,,,,:;+*%S#@@@@@@@@@S,                     ,;S@#S%*+;::;;*?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@S%+ :*?*:,*@#?+;;;+;?%S#@@@@@@@@@@@@@@@@@:                         +#@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@#S%??***++++;,:+*?+;+%S@@@@@@@@@@@@@@@@@@@@@@@@@@@*                           ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@
%?**++;;;;;+**?%%S###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                             ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                               :#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                             ,;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:,                       ,;+?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;    ,,  ,,, ::,,    :%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:   ,S#SS###S@@@#;   ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*    +@@@@@@@@@@@@#,   ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:    %@@@@@@@@@@@@@?    :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,   ,#@@@@@@@@@@@@@@:    S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,   ;@@@@@@@@@@@@@@@?    ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;   ?@@@@@@@@@@@@@@@@;   *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  ,#@@@@@@@@@@@@@@@@S,  ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,   %@@@@@@@@@@@@@@@@#,   *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@