#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                       ,;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                 ,,,      :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                 ?@#S?;,    ,*#@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,              :%@@@#**?;,    :*%?*+*?S#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:,        ,;?#@@@@* ;@@#?;,      ,:;;;+S@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?****?S#@@@@@@#,,#@@@@@#%*++*%#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?#@@@@@@@@@@@@@@@@@@@S+:*@@@@@@@@@@@@@@@@@@@@@@@@* %@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SS@@@@@@@@@@@@@@@@@S+,  ,?@@@@@@@@@@@@@@@@@@@@@@#,:@@@@@@@@@@@@@@@@@@@@@@@@@@@#S@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;:::;*%S+,     :S@@@@@@@@@@@#@@@@@@@@@+ %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*:                ,S@@@@@@@@@@@@??@@@@@@@S ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                  *@@@@@@@@@@@@@@@@@@@#SS; %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S@@@@@@@@##@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;               :S??@@@@@@@@@@@#S%?*+;:::;,  ,;%@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;              ,,@@@@@###S%*+:,   ,:;*%S##; +:;*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S@@@@@@@@@@@@@@@@@@%:; :;,    ,+::S*?+:,:,,,   ,;+?%S@@@@@S*;  ;+?#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%@@@@@@@@@@@@@@@@@@@@@%%?:    :+;::,        ;S#@@@@@@@@@@@#%:  :*?%SSS###########@@@@@@@@@@@@@@@@@@@@@@@@@@##@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;               ,,:;*S@@@@@@@@@@@@@#S*  ,;*?%%%SSSSS###############@#@@@@@@@@@@@@@@@@%+?@
@@@@@@@@@@@@@@@@@@@S%??S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:              :?%S#@@@@@@@@@@@@@@@@@@#S;  :+*??%%%SSSSSSS#####################@@@@@@@@@@@#@
@@@@@@@@@@@@@@@@@@+,    ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                :@@@@@@@@@@@@@@@@@@@@@@S?, ,:+*??%%%%%%SSSSSSSS###########################@@@
@@@@@@@@@@@@@@@@@S:     ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;     ,:           ?@@@@@@@@@@@@@@@@@@@@#S+  ,;**???%%%%%%SSSSSSSSSSS#########################@
@@@@@@@@@@@@@@@@@?,     ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+   ,+%#S           *@@@@@@@@@@@@@@@@@@@@#%:  :+**???%%%%%%%%SSSSSSSSSSSS#######################
@@@@@@@@@@@@@@@@@?,     +@@@@@@@@@@@@@@@@@??S@@@@@@@@*   :#@@@*           *@@@@@@@@@@@@@@@@@@@#S*  ,;+**??????%%%%%%%SSSSSSSSSSSSS####################
@@@@@@@@@@@@@@@@S:      ;#@@@@@@@@@@@@@@@@%?+;+?%#@@@#;  ,S@@?,           +@@@@@@@@@@@@@@@@@@@#%;  ,+***??????%%%%%%%%%SSSSSSSSSSSSSSSS###############
@@@@@@@@@@@@@@@%:       ,:*S@@@@@@@@@@@@@@@@@@S%*+;+?SS,  ;@@S+           ;@@@@@@@@@@@@@@@@@@@#?,  :+**????????%%%%%%%%%%SSSSSSSSSSSSSSSSSSS##########
@@@@@@@@@@@@@@@*,          :%@@@@@@@@@@@@@@@@@@@@@#S?+,    ?#*,           :%@@@@@@@@@@@@@@@@@#S+  ,;+**????????%%%%%%%%%%%%SSSSSSSSSSSSSSSSSSSSS######
@@@@@@@@@@@@@@@S+,      ;SS#@@@@@@@@@@@@@@@@@@@@@@@@@@+*;   ,             *@@@@@@@@@@@@@@@@@@#%:  :+***?????????%%%%%%%%%%%%%SSSSSSSSSSSSSSSSSSSSS####
@@@@@@@@@@@@@@@?;,      ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                   *@@@@@@@@@@@@@@@@@#?, ,;+***??????????%%%%%%%%%%%%%%SSSSSSSSSSSSSSSSSSSSSS#
@@@@@@@@@@@@@@@@S,       ,S@@@@@@@@@@@@@@@@@@@@@@@@#%*;                     ?@@@@@@@@@@@@@@@#S*  ,;***????????????%%%%%%%%%%%%%%%SSSSSSSSSSSSSSSSSSS#@
@@@@@@@@@@@@@@@@?,        ;#@@@@@@@@@@@@@@@@@@#%*;,  ,:*%;                   ,;+?%#@@@@@@@@@#S;  :+***?????????????%%%%%%%%%%%%%%%%SSSSSSSSSSSSSSS#@@@
@@@@@@@@@@@@@@@#;          +@@@@@@@@@@@@#S?+:,  ,;*%#@@@S,                    ,++:::;+*%#@@@#%: ,:+***?????????????%%%%%%%%%%%%%%%%%%%SSSSSSSSSS#@@@@@
@@@@@@@@@@@@@@@*        ,;;:*@@@S+*S%*;:, ,:+?%#@@@@@@@#:                      ,*#@S%*+;::;;++, ,;+***??????????????%%%%%%%%%%%%%%%%%%%%SSSSS#@@@@@@@@
@@@@@@@@@@@@@@@S?; :**+,,%@S*??+::,,,:+*%#@@@@@@@@@@@@@;                         ,?@@@@@@#S%*;  ,;****????????????????%%%%%%%%%%%%%%%%%%%SS#@@@@@@@@@@
@@@@@#S%??***++**;,:+??+;;;::::;*%S#@@@@@@@@@@@@@@@@@@*                            :S@@@@@@@S+ ,:;****????????????????%%%%%%%%%%%%%??%%S##@@@@@@@@@@@@
%?**++;;;;;+**??%SS###@@@@@#@@@#@@@@@@@@@@@@@@@@@@@@@S,                              ;S@@@@#S; ,;+****??????????????????%%%%%%%%%%%%S#@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                ;#@@@@S+ ,;+****?????*+*????????????%%%%SS#@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                              :?@@@@@@#%;;+*********??????????%%%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:                        :++S@@@@@@@@@@#####SSSSSSSSSSS####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;    ,,,:,,,;:::,    ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,   :#@#@@@#@@@@S:   ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;    *@@@@@@@@@@@@S,   ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,    S@@@@@@@@@@@@@*    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S    :@@@@@@@@@@@@@@#,   ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,   +@@@@@@@@@@@@@@@?    %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:   %@@@@@@@@@@@@@@@@:   ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+  ,#@@@@@@@@@@@@@@@@S,  +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,  ,%@@@@@@@@@@@@@@@@#,   *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@