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