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