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