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