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