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