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