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