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