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