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