                                                                                                                                                    ,,
                                                                                                                            ,               ,,;+*?%SSS
                                                                                                                 ,,::::::;*%#S?+:,      ,;*%#@@@@#S?+;
                                                                                                               :%#@@@@@@@@@@@@@%+:   ,;?#@@@@@S?+;,   
                            ,;;;;::,,:;;:                                                                      ;@@@@@@@@@@@@@@@%+: ,*S@@@@@#%*;,      
                            ,:;+?%S##@@@#S+                                                                  ,;?@@@@@@@@@@@@@@#%+;?#@@@@@#%*;,        
                                  ,:*S@@@@@*                                                               ;%@@@@@@@@@@@@@@@@@#%S@@@@@@@S?;:          
                                      :%@@@@S+,                                                           ,+%S@@@@@@@@@@@@@@@@@@@@@@@@#?+:,           
                                        ;S@@@@#?+;;:,                                                         ,:*S@@@@@@@@@@@@@@@@@@#%*;,             
                                         :#@@@@@@@@SS?:                                                           :?@@@@@@@@@@@@@@#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@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+                                     
                                                                S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                                    
                                                                S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                                    