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