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