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