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