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