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