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