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