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