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