@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*;;*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,:?#@@@@@@@@@@@#S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,:?#@#@@@@@@@@@@#??;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@#?+ ,;;::;*#@@@@@@@@@%;;,;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?::+?%?*??,   :?S#@@@@@@@@@@@@@#+ ,  ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*          :S@@@@@@@@@@@@@@@*,      ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####*           ,S@@@@@@@@@@@@@@@%; ,,    :S@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?+::,,,,,,             ,;*%@@@@@@@@@@@@@@SS#+    ,+;:,,,,,,,::+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                    ,+%%?**S@@@@@@@@@@@@@@@@#:                   :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:                       :S@@@@@@@@@@@@@@@@@@@@%+,                      ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                            ;%@@@@@@@@@@@@@@@@%;                            :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                                *@@@@@@@@@@@@@@?                                :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                  %@@@@@@@@@@@@#,                                  :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                                    ?@@@@@@@@@@@@S                                     ,;*%##@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@S?+:                                       ?@@@@@@@@@@@@S,                                        ,,::;+++***???%%SSS##@@@@@@
@@@@@@@@@@@@@@@@@@#S%?+;:,                                       ,?%#@@@@@@@@@@@@#%?,  , ,                                                 ,,,,:;++*?%
@@@@@@@@@@@#S?*+;:,,                                       ,%%??S#@@@@@@@@@@@@@@@@@@#SSS%S,                                                         ,,
@@@@##%?+;:,,                                            ,;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+;,                                                         
@S?+:,,                                                ,?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;    ,                                                   
;,                                                    ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                                       
                                                      :?@@@@@@@@@@@@@@@@##@@@#@@@@@@@@@@@@@@@@?,                                                      
                                                        ;#@@@@@@@@@@@@S+,,::,:+S@@@@@@@@@@@@#;                 :?+,                                   
                                   ,++                   ,S@@@@@@@@@@@@S: ;; :S@@@@@@@@@@@@S,                   *#%+:,                                
                                 ,:**,                    ,#@@@@@@@@@@@;  ,,  ;@@@@@@@@@@@#,                    ,;++;:,                              ,
                                 ,:,,                    ,:;#@@@@@@@@S;        ;S@@@@@@@@S;:,                    ,::::;++:,             ,,,,          
                        ,   ,,::::::,                     ;%%@@@@@#S%*+        ;?%S#@@@@@%%:                     ,:;;;+++;:      ,:;;::,,,::;;;;;;;::,
,,,         ,         ,,,   ,,,,,,,,                      :SSS%*;:,                ,:;*%SSS:                      :*+;+;;;+*?S?+:+*?S#@@#S%?*++++**?%%
,      ,:;;:,,,:;*?*+;;,:;;;+**?S#S,                       ,,       ,:,        ,:,       ,,                       ,#@@@@@@@@@@@@@S%#@@@@@@@@@@@@##SSS%
  ,:;***+;;+?S#@@@@@@@@#@@@@@@@@@@?                            ,:;?S@@:        :#@S?+:                             ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+?%%%**?%#@@@@@@@@@@@@@@@@@@@@@@@@+                        ,:+%#@@@@@%    ,,   ,%#@@@@#%*:,                        *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#S%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                     +%SS##%?*;:,,    :SS:   ,,,:;*?S###S*:                     *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                     ;+;:,           :#@@#:           ,:;+:                     +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                 ,:+?#@@@@#?;:,                                 ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                           ,,;+?%#@@@@@@@@@@@@@@#%?+;,,                           *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                  :,  ,,:+*%#@@@@@@@@@@@@@@@@@@@@@@@@@@#%*+:,,  ,:                  :%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                    %@SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS@%                    ,::+*?%S##@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@#+,                      *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                            ,,:;+?S@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@#*,                        :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                   ,+%#@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@?:                          ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                      ,+%@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@S;                             ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                         :+S@@@@@@@
@@@@@@@@@@@@@@@@@@@#*,                               %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                           ,+S@@@@@
@@@@@@@@@@@@@@@@@@?:                                 :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                             ,;%#@@
@@@@@@@@@@@@@@@@%:                                    ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                                 ,;*