                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                    ,:::;;;;;+++****+;;:,          ,;*??:                                             
                                                                ,+%S#@@@@@@@@@@@@@@@@@@@#S*:    :+S#@@@@*                                             
                                                              ,?@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+*S@@@@@@@@#,                                            
                                                             :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                                           
                                                            ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:,                                        
                                                            ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%:                                       
                                                            ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;::,,,                                        
                                                            ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                                             
                                                          ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;+*%S@@S,                                             
                                                       ;?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:  ,;:                                              
                                                      ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%                                                   
                                                       :;*S@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++,                                                   
                                                           ,;::%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                                                      
                                                              ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;,                                                    
                                                            ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*;,                                                   
                              ;*,                           ,,?%+#@@@@@@@@@@@@@@@@@@@@@@@@@S?#??;                                                     
                           ,+S@@;                            ,,  :*:S%##?#@@@@@@@@@@S#%SSSS, ,  ,                                              ,      
                         ,+S@@@@@S?+:                               ,,,;,+@@@@@@@@@@?:,: ,                                                    ;#S;    
                       :?#@@@@@@@@@@@S?;                       :;+*?%%SS@@@@@@@@@@@@@@S%??*++;:,                                       ,:;+*?S@@@@%,  
                    ,+S@@@@@@@@@@@@@@@@@S*:                 ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S+                                 :;?S#@@@@@@@@@@@#; 
                 ,+%#@@@@@@@@@@@@@@@@@@@@@@%;,            ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                          ,:+?S@@@@@@@@@@@@@@@@@@%
              :+%#@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,        :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,     ,:,,,,        ,,:;*%#@@@@@@@@@@@@@@@@@@@@@@@
          ,;?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%?**++*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+;;;;S@@###SSSS%%SS##@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      ,;*S@@@@@@@@@@@@@@SS@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  ,;*S@@@@@@@@@@@@@@@@S;  +@%,,:+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 ,+**++;;:;;;*%#@@@@#+     ;:     :S@@@@#SSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S*: ,,:+*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S#@@@
               ,;*?*,              ,*+:,,   ,:+%@@@@@@#?+*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;        ,:;*S#@@@@@@@#%?*?%#@@@@@@S?*+;:+@S;, ,%@@
                                                :?S%+:    ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+;             ,;*%S%*:,      :+%#%:      ,;,    ,?@
                                                          %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                 ,                 ;
                                                         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                                                    
                                                        ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                    
                                                        :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                                    
                                                         :*%S##S+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                                    
                                                             ,, ;@@@@@@@@@@@@@@@@@@@@@@@@@@??*+;,                                                     
                                                               ,#@@@@@@@@@@@@@@@@@@@@@@@@@#                                                           
                                                             ,?#@@@@@@@@@@@@@@@@@@@@@@@@@@@%+                                                         
                                                             *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                                                       
                                                           ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                                                        
                                                           ,?%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                                                        