@@@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSS%%%%%?????****++;:,,                                                                                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSS%%%%%?????****++;:,,,                                                                                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSS%%%%%%????****++;;:,,,                                                                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@###########SSSSSSS%%%%%%?????***+++;:,,,                                                                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSS%%%%%?????****+++;:,,,                                                                                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSS%%%%%%????*****++;;:,,,                                                                                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSSS%%%%%?????****+++;::,,                                                                                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSS%%%%%%????*****+++;::,,,                                                                               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSSS%%%%%%????*****+++;::,,,                                                                              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSSS%%%%%%?????*****+++;::,,,                                                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############SSSSSSSS%%%%%%?????*****+++;;:,,,                                                                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSSS%%%%%%?????****++++;;:,,,                                                                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSSS%%%%%%?????*****+++;;:,,,,                                                                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSSS%%%%%%?????*****+++;;::,,,,                                                                       
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############SSSSSSSS%%%%%%?????*****++++;;:,,,,                                                                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSSS%%%%%%%?????*****++++;;::,,,,                                                                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSSSS%%%%%%??????****++++;;;::,,,,                                                                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############SSSSSSSS%%%%%%%??????*****++++;;;:,,,,                                                                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############SSSSSSSSS%%%%%%%?????******++++;;:::,,,                                                               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############SSSSSSSSSS%%%%%%%??????*****+++++;;::,,,,,                                                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################SSSSSSSSS%%%%%%%%??????*****+++++;;::,,,,,                                                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################SSSSSSSSSS%%%%%%%???????*****+++++;;:::,,,,,                                                       
@@@@@@@@@@@@@@@@@@@S%S#@@@@@@@@@@@@@@@##############SSSSSSSSSS%%%%%%%%??????******+++++;;;:::,,,,                                                     
@@@@@@@@@@@@@@@@S+:,,;?#@@@@@@@@@@#S%%###############SSSSSSSSSSS%%%%%%%%???????******+++++;;;::,,,,                                                   
@@@@@@@@@@@@@@@S,    ,+S@@@@@@@@%+:, +S###############SSSSSSSSSSSS%%%%%%%%???????******+++++;;;:::,,,,,                                               
@@@@@@@@@@@@@@@+     ,;S@@@@@@?;    +S##################SSSSSSSSSSS%%%%%%%%%???????******++++++;;;:::,,,,,                                            
@@@@@@@@@@@@@@@:     ,+S@@@@%:    ,*#@###################SSSSSSSSSSSS%%%%%%%%%%???????******++++++;;;:::,,,,,,                                        
@@@@@@@@@@@@@@S,     ,*#@@@*     :?#@###@@@#S%S############SSSSSSSSSSSSS%%%%%%%%%???????*******+++++++;;::::,,,,,,                                    
@@@@@@@@@@@@@@?      :%@@S:     :%@@@@@@S?;:,:%###############SSSSSSSSSSSS%%%%%%%%%%???????********++++++;;;;:::,,,,,,                                
@@@@@@@@@@@@@@+     ,;S@?,     ;S@@@@S*:,   ;S##################SSSSSSSSSSSSS%%%%%%%%%%???????*********+++++++;;;:::,,,,,,,                           
@@@@@@@@@@@@@#,     ,+%+      ;S@@#?:,   ,+%#######################SSSSSSSSSSSSS%%%%%%%%%%????????*********+++++++;;;;:::,,,,,,,,                     
@@@@@@@@@@@@@?      ,;,      ;#@%+,    :*S@@##########################SSSSSSSSSSSSSS%%%%%%%%%??????????********++++++++;;;;::::,,,,,,,,               
@@@@@@@@@@@@#:      ,      ,;%?:     ;%#@@@@@@@@@@######################SSSSSSSSSSSSSSS%%%%%%%%%%??????????*********+++++++++;;;;;::::,,,,,,,,,,      
@@@@@@#%??%#*              :;:     :%@@#S%??*++++*?S#######################SSSSSSSSSSSSSSS%%%%%%%%%%%???????????************++++++++;;;;;::::::,,,,,,,
@@@S+:,  ,:;,                    ,;??+:,,       ,+%############################SSSSSSSSSSSSSSS%%%%%%%%%%%?????????????*************+++++++++++;;;;;;;;
@@@+                             ,,      ,:;;*?S#@@@@@#############################SSSSSSSSSSSSSSS%%%%%%%%%%%%%??????????????********************+++++
@@@S,                               ,;*%S##@@@@@@@@@@@@@@@@@###########################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%????????????????****************
@@@@?                            :*S#@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%????????????????????????
@@@@@*                          :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################SSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%?????????????
@@@@@@:                        ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################SSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@@@@?,                        +S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################SSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%
@@@@S,                        ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@:                        +S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################################SSSSSSSSSSSSSSSSSSSSSSSSSSS
**+;                       :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################################SSSSSSSSSSSSSSS
                         ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################################################