@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SSSSSSSSSSSSS%%%%%%??**++;;:,,                                                        ,,::;;;+++++++*****++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%%%%%%%%%%%%%%%%??**++;;;:,                                                          ,::;;++++++++++***++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####SS%%%%%%%%%%%%%%%%???**++;;::,,                                                         ,,::;;;;;;;;++++++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSS%%%%%%%%%%%%%%????***++;;::,,                                                           ,,:::;;;;;;;;+++++++;
???%%S#@@@S?++?#@@@@@@@@@@@@@@@@@@##SSSS%%%??????????????****++;;::,,                                                             ,,::::::;;;;;;++;;;;
@@#%?*;:;;     ?#%???%%S#@@@@@@@@##SSS%%%??????????????***++++;;::,,                                                               ,,::::::::::;;;;;::
@@@@@@%,      ,:        :%@@@@@@@###SS%%???**************++++;;::,,                                                                  ,,,,,::,:::::::::
@@@@@+                   :#@@@@@###SS%%??************+++++++;;;::,                                                                        ,,,,,,,,::::
@@@@@%+;+?;              ,,*@@@@###SS%%??*****++++++++++++;;;;::,,                                                                              ,,,:::
@@@@@@@@@@:                 ?@####SSS%??******++++++++++;;;;;::,,                                                                                ,,,,,
@@@@@@@@@@:                +S####SSS%%??*****+++++++++++;;;;::,,                                                                                   ,,,
@@@@@@@@@@*                :?S##SSS%%???******++++++++++;;;:::,,                                                                                      
@@@@@@@@@@#:                 ,:+?%S%%??********+++++++++;;;::,,,                                                                                      
@@@@@@@@#@S,                     ,+%%%??*********++++++++;;:::,,                                                                                      
@@@@@@@#@S;                        ,;**??**********++++++;;;::,,                                                                                      
@@@@@@@#*,                            ,:+***?????******+++;;;:,,                                                                                      
@@@@@#?:                                 +????????******+++;;::,                                                                                      
@@@@?:                                  :????????????***+++;;::,                                                                                      
@@?:                   :,               *%%%%%%%??????***++;;::,,                                                                                     
#;                    +%,  ,;,          *S%%%%%%%%%????**++;;::,,                                                                                     
;              ,,    ;@%   ,#+          +SSSSSS%%%%%%??**++;;:,,                                                                                      
,           ,:;%;   ,S@%,  ;S;          :SSSSSSSSSS%%%??**+;::,                                                                                       
          :?%S@#,   ?@@#,  ;:            ?#SSSSSSSSS%%%?**+;:,,                                                                                      ,
 ,      ,+S@@@@?   *@@@%,                :SSSSSSSSSS%%%?**+;:,                                                                                       ,
,,      ;S@@@@@;  +@@@#:                  *#SSSSSSS%%%?**++;:,                                                                                        
%,    :;%#@@#%+  ,S@@@@*                  ,%#SSSSS%%%??*++;;:,                                                                                        
@S;:,;?#@@?;,  ,, *@@@?,                   :SSSSS%%%??**+;;:,,                                                                                        
@@@@##@@@#   ;S@#%#@@*                      +S%%%%%???**+;:,,                                                                                         
@@@@@@@@@@;:*@@@@@@@+                        *S%%%%??**+;;:,                                                                                          
@@@@@@@@@@@@@@@@@@S:                         ,?%%%???**+;::,                                                                                          
@@@@@@@@@@@@@@@@@?,                           :%%???**++;:,,                                                                                          
@@@@@@@@@@@@@@@S;                              ;???**+++;;:,                                                                                          
@@@@@@@@@@@@@@S,                                +?***+++;;::,,                                                                                        
@@@@@@@@@@@@S+,                                 ,+?***+++;;::,,                                                                                       
@@@@@@@@@@@?,                                    ,*?***+++;;;::,,                                                                                     
@@@@@@@@@S;,                                      ;????**++++;;::,,                                                                                   
@@@@@@@@S;                                        ,?%????****++;;:::,,                                                                                
@@@@@@@S,                                          ?S%%%%%????**++;;::,,,,                                                                            
@@@@@@@?                                           ?SSSSSS%%%%??**++;;;::::,,,                                                                        
@@@@@@@*;+;::;;;,                                 ,?######SSSSS%%??**++++;;;::,,,,,                                                                   
@@@@@@@@@@@@@@@@%,                            ,+%%S############SS%%??****+++;;;;::,,                                                                  
@@@@@@@@@@@@@@@@@#SS##S%,     ,,    :??%%?****S@@@@##@@@@@#######S%%???***++++;;;::,                                                                  
@@@@@@@@@@@@@@@@@@@@@@@S,   :S#S,   *@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%???***+++;;;::,                                                                  
@@@@@@@@@@@@@@@@@@@@@@@*    %@@@:   %@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%???***+++;;::,,                                                                  
@@@@@@@@@@@@@@@@@@@@@@@:   +@@@#:  ,S@@@@@@@@@@@@@@@@@@@@@@@@@###SS%%???***+;;;::,                                                                    