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