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