??????%%%%%SSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:,                                                                                
%%%SSSS####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:,                                                                            
####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?;:                                                                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,                                                                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,                                                                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%+:,                                                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:,                                                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?+:                                                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*;,                                                  
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;,                                               
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?;,                                            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?;,                                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?;,                                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+,                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+,                                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+,                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;,                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?:                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?*+;::;;;++***++++, *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                      
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?*+;:,,                     ,:*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,,                               ,;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:,                 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##%+                                      ,;*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+:                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*%%+,                                         ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*;,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?*?;                                             :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*:              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;,                                                ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*:              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:,                                                ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+:              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*S#*,                                                ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*;,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+%@@@?                                                ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+:,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*S@@#:                                               ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?*;:,              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+*+,                                              ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%*+;:,,             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%%*:,                                                 ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?*+;:,,             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,,,                                                 , ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%*++;:,,             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%+:,                                              ,+?%?*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%?*+;;:,,             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*;,                      ,      ,::::::,,        :?SS%%S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S?**+;;:,,,            
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##?:,                     :?%%%%SS*+?@@@@@@#S%*;,:*%%SSS@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?**+;;:,,,            
@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?*+;:,                      ,#@@@@@@@@#??%SSSSS%%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%??*++;;:,,,            
@@@@@@@@@@@@@@@@@@@@@@@@@@S+:,,                          ,S@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SS%?**++;;:,,,            
@@@@@@@@@@@@@@@@@@@@@@@@@S+                              *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%??**++;;:,,,            
@@@@@@@@@@@@@@@##########*                              :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS%??*++;;;::,,            
@@@@@@@@@@@@@SSSSSSSSSSSS%;                             %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS%??**++;;;:,,,,           
@@@@@@@@@@@@#SSSSSSSSSSSSS%,                           ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%%??**++;;;:,,,,           
@@@@@@@@@@#SSSSSSSSSSSSSSSS*,                         ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS%??**+++;;;:,,,,           
@@@@@@@@@@SSSSSSSSSSSSSSSSS*,                        ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#SS%???**+++;;;:,,,,           
@@@@@@@@@@@SSSSSSSSSSSSSSSS?:,:                     ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S%%??***++;;;;:,,,,           
@@@@@@@@@@@#SSSSSSSSSSSSSSSSSSS?*+,     ,,,      ,;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##SS%???**+++;:;;:,,,,           