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