@@@@@@@@@@@@@@@@@@@@#########SSSSSSS%%%%%????***+;:,,                                                                                                 
@@@@@@@@@@@@@@@@@@@@#########SSSSSSS%%%%%????***++:,,,                                                                                                
@@@@@@@@@@@@@@@@@@@@#########SSSSSSS%%%%%?????**++;:,,                                                                                                
@@@@@@@@@@@@@@@@@@@@#########SSSSSSS%%%%%?????***+;:,,,                                                                                               
@@@@@@@@@@@@@@@@@@@@##########SSSSSS%%%%%?????****+;:,,,                                                                                              
@@@@@@@@@@@@@@@@@@@@##########SSSSSS%%%%%%????****++;,,,                                                                                              
@@@@@@@@@@@@@@@@@@@@##########SSSSSSS%%%%%?????***++;:,,                                                                                              
@@@@@@@@@@@@@@@@@@@@###########SSSSSS%%%%%%????****++;:,,,                                                                                            
@@@@@@@@@@@@@@@@@@@@@##########SSSSSSS%%%%%?????****++;:,,                                                                                            
@@@@@@@@@@@@@@@@@@@@@##########SSSSSSS%%%%%%?????***+++;:,,                                                                                           
@@@@@@@@@@@@@@@@@@@@@@##########SSSSSSS%%%%%?????****++;;:,,,                                                                                         
@@@@@@@@@@@@@@@@@@@@@@##########SSSSSSSS%%%%%?????****++;:,,,,                                                                                        
@@@@@@@@@@@@@@@@@@@@@@@##########SSSSSSS%%%%%%?????****++;;:,,,                                                                                       
@@@@@@@@@@@@@@@@@@@@@@@@##########SSSSSSS%%%%%%?????****++;;:,,,                                                                                      
@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSS%%%%%%?????****+++;:,,,                                                                                     
@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSS%%%%%%?????****+++;:,,,,                                                                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@##########SSSSSSSS%%%%%%?????*****++;;:,,,                                                                                  
@@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSSS%%%%%%?????*****++;;:,,,,                                                                                
@@@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSSS%%%%%%?????*****+++;;:,,,                                                                               
@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSSS%%%%%%??????****+++;;::,,,                                                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSSS%%%%%%??????*****+++;;:,,,,                                                                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSSSS%%%%%%%??????*****+++;;:,,,,                                                                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSSS%%%%%%%??????*****++++;;:,,,,                                                                       
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############SSSSSSSSS%%%%%%%??????*****++++;;::,,,,                                                                    
@@@@@@@@@@@@S?+*S@@@@@@@@@@@@@@#############SSSSSSSSSS%%%%%%%??????*****++++;;::,,,,                                                                  
@@@@@@@@@@%:   :*#@@@@@@@@@@#%++?############SSSSSSSSSS%%%%%%%%??????******++++;::,,,,                                                                
@@@@@@@@@S,    ,;%@@@@@@@#?;,  :%#############SSSSSSSSSSS%%%%%%%%??????*****+++++;;::,,,,                                                             
@@@@@@@@@+      ;%@@@@@#*:    ;S################SSSSSSSSSS%%%%%%%%%??????******++++;;;::,,,,                                                          
@@@@@@@@@,     ,+S@@@@?:    ,*#@@@####@@#########SSSSSSSSSSSS%%%%%%%%???????******++++;;;::,,,,                                                       
@@@@@@@@S      ,*#@@#+     :?@@@@@@@#S?**%########SSSSSSSSSSSSS%%%%%%%%????????******+++++;;::,,,,,                                                   
@@@@@@@@?      :%@@%:     :S@@@@@#%+:  ,*S###########SSSSSSSSSSSS%%%%%%%%%????????******+++++;;:::,,,,,                                               
@@@@@@@@;     ,;S@*      ;S@@@#%;,   ,+S################SSSSSSSSSSSS%%%%%%%%%????????******+++++;;;::,,,,,,                                           
@@@@@@@S,     ,+?:     ,+#@@S+,    :*S@@###################SSSSSSSSSSS%%%%%%%%%%????????*******+++++;;;:::,,,,,,                                      
@@@@@@@;      ,:,     ,*##*:    ,+%#@@@@@@@@#################SSSSSSSSSSSS%%%%%%%%%%%???????*********+++++;;;::,,,,,,,                                 
@@@@@@%              ,+%+,    ,+S@@@@@###########################SSSSSSSSSSSS%%%%%%%%%%?????????********++++++;;;:::,,,,,,,                           
*+*?%S:             ,::,    ,;%#S%?*+;::,,,:+%######################SSSSSSSSSSSSS%%%%%%%%%%??????????********++++++;;;::::,,,,,,,,,                   
   ,;:                     ,:+;,,        ,;?S@@@@@#####################SSSSSSSSSSSSSS%%%%%%%%%%??????????***********++++++;;;;::::,,,,,,,,,,          
                                 ,:;+*?%S#@@@@@@@@@@@@#####################SSSSSSSSSSSSSS%%%%%%%%%%%????????????************++++++;;;;;;:::::,,,,,,,,,
                             :;?S#@@@@@@@@@@@@@@@@@@@@@@@######################SSSSSSSSSSSSS%%%%%%%%%%%%%?????????????*****************++++++++++;;;;;
                           :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################SSSSSSSSSSSSSS%%%%%%%%%%%%%%?????????????????**********************
                          :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%??????????????????????????????
                         ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%????????????????????
                        ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######################SSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                       ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################SSSSSSSSSSSSSSSSSSSSSSSS%S%%%%%%%%%%%%%%%%%%%%%%
                      :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS