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