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