@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@S%?*+;::,,,,     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S#@@@@@@@@@@@@@###SSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%?%: *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%?**?%S@@#,     %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@#?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,        ,;?;   :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@#+:%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SS#@@@@@@S:                   *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@%,                     ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#; 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                       ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S#@@@@@@@@@@@@@@@S?;  
@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                       ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@#%+:,  :+
@@@@@@@@@@@@@@@@@@@@@@S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                   ,+*%S@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*;, ,:+%#@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@??,,,;?:         ,;,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S*;, ,:*%#@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?%?,       ,*%S?####SSSSS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?;, ,:*%#@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,          ,,,,,,,,,     ,+%S@@@@@@@@@@@@##S%??+;::::;+%S%?;, ,:*%#@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                               :+*?%*++;:::,,             , ,:*%#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@#?+;+?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?;,                                                ,,:,           +@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@###:      ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                        **;,        :::,,,,,,:;+****;:,   ,:   :+%@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@SS?       +S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                        :@@@@#%%%SS%S@@@#######%?+:,   ,:: ,S%*%@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@S+:     ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                         +@@@@@@@@@@@@@@@@@#%*;,    ,:+?%##%+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@S:     ,+@@@@@@@@@@@@@@@@#S#@@@@@@@@@@@@@@@@S;       :*+                *@@@@@@@@@@@@#S?+:,   ,:;*%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@;,:,    ,S@@@@@@@@@@@@@@@;,,;?S@@@@@@@@@@@@*,     ;%S@@:                %@@@@@@@@#%?+:,   ,:+?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
@@@@@@@@@@@?,,*:     ;?#@@@@@@@@@@@@@@#%+,,:*%@@@@@@@@*     :S@@@#;                :@@@@#S%*;:    :;*?S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@%,  ,,       ,+%@@@@@@@@@@@@@@@@S*:,,;?S@@@@;     ?@@@?,                 +#S?+;,   ,:+*%SS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@%:          ,::;#@@@@@@@@@@@@@@@@@@@#%+,,,+?#;    ,S@@@?+,                ::,   ,;+?%##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@#SS+       ,?@#@@@@@@@@@@@@@@@@@@@@@@@@S?;,,,    ;@@@@@*,                  :+*%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@+        +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?     ,+%#%:                 ,:+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@S,        :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:   ,,  ,                  :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@*         ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?   :S;                     +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@S,          +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:   ,,                       ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@#;           ,%@@@@@@@@@@@@@@@@@@@@@@@@#%?+:                             ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@?::,,::,,,:%?;+#@@@@@@@@@@@@@@@@@@S%*;:,     ,:,                          +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@%:,*S#+ :*#@#@@@@@@@@@@@@@#S?+;,      ,:+?%#%,                           +%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%?*++++;;::::,,,:;;:;+%S#@@@@@@@@#%?+:,      ,;+?S#@@@@S,                              ,:+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
:,,::;+***?????%##@@@@@@@@@#%?+;,      ,:;*%#@@@@@@@@@#,                                ,   :+?S@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###@@@@@@@@@+,:;@@#@@#%?+;,      ,:;*?S#@@@@@@@@@@@@@#:                                 ;%?+:   ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@#S%*+;;:,      ,:;*?S#@@@@@@@@@@@@@@@@@@#:                                   :S@@#%*;,   :;?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@S%?*;:,,     ,:;*?%#@@@@@@@@@@@@@@@@@@@@@@@@#:                                      ?@@@@@@S?+:,  ,:+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@S;,   ,:;+;*S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                                        ?@@@@@@@@@#%?*;,,,,;*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@###@@@@#?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                                          ?@@@@@@@@@@@@@@##SSS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                            *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                             ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@#*S@@@@@@@@@@@@@@@@@@@@@@@@S                                            :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@+ ;#@@@@@@@@@@@@@@@@@@@@@@@#:,                                         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@