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