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