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