                                        .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@i                              
                                        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                            
                                      ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                           
                                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,                         
      ...       .    ..  .           G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                         
    .;..; S  r..r  ,: ;.:r..         @@@@@@@@@@@@Br ;@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@                        
    .:.; ;: ;;.::  :.:: r;;          @@@@@@#i.           ;X: ,M@@@@@@@@@@@@@@@@@@@@@@                       
       , .. ..       ,. ,    . .     S@@@r       .X#@@@@@X;::  ;A@@@@@@@@@@@@@@@@@@@@H                      
                                      @@@&@@5:,:;2@@@@@@HX;  .,  :3@@@@@@@@@@@@@@@@@@@,                     
                                      @@@@@@@@2,,r&#h:   .iM&;     :h@@@@@@@@@@@@@@@@@@                     
         ,.: .;:,.;. ; .,:           ;@#&;,;&@G    ,sX@@@@@@@#s,    ,#@@@@@@@@@@@@@@@@@s                    
        ;H:G.G5ssSiH # hS.           @@@#2B#@#      @@@@@@@@5,.      2@@@@@@@@@@@@@@@@@@                    
        Mr  Mr ,, @, .iX.           .@@@@@@@@        &@@#3r          ;@@@@@@@@@@@@@@@@@@;                   
       ;ri; r2.   2   rs.,          A@@@B@@H    .               ..,,.:@@@@@@@@@@@@@@@@@@S                   
                                    @@@@ ,;                  ..,:;rr;i@@@@@@@@@@@@@@@@@@h                   
                                    @@@2   A#M#Mi::.       ..,:;rs5X2A@@@@@@@@@@@@@@@@@@B                   
                                    #@@,  .@@@@@@@5 .,..,,,,:;rsiiXh9B#@@@@@@@@@@@@@@@@@@                   
      .i      ,,.;.,.        ::     @@@, ..;BGr       ,,::::;rrsiiSSihB@@@@@@@@@@@@@@@@@@                   
     ;,;:;;s ::    sr;;;:s:  ;     ;@@@s .            .,::;;;rrrrrr;rXB@@@@@@@@@@@@@@@@@@;                  
    ;. ,;.,: ,;. .:;,:::r;, .      :&@@#,,.r##@@@@H&HA;;;;;;;;r;;;;;rh#@@@@@@@@@@@@@@@@@@@                  
    .                   ,           ,@@@ss@@@BH3isi22irr:,:::;;;;;rriM@@@@@@@@@@@@@@@@@@@@;                 
                                     @@@3r953GB#Gr.   .:::;;;;;rsSS2M@@@@@@@@@@@@@@@@@@@@@@                 
                                     #@@@::r@@H3i:. .,.,:rsssi523GH@@@@@@@@@@@@@@@@@@@@@@@@r                
                                     B@@@9,,.          .,:rsSXGH#@@@@@@@@@@@@@@@@@@@@@@@@@@B                
                                     S@@@@:           .,:rS3A#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.               
  ,.   ,:     ;  ;,   .,,    ,.,.    .@@@@@ ,r535srrs2GH#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;               
 .::.,,:;;r; ,::;r;, .:;;s  ::::;     r@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@X@M               
         .:             ;     .        M@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@:5@               
                                       s@@@@@@@@@@@@@@@@@@@####MMMM##@@@@@@@@@@@@@@@@@@@@@  @r              
                                       ;@@@@@@@@@@@@@@@@@@#BA&&AAHBM#@@@@@@@@@@@@@@@@@@@@@. @@              
                                       :@@@@@@@@@@@@@@@@@#MA93XGAAHM#@@@@@@@@@@@@@@@@@@@@@5  @s             
                    ,;s292r:           i@@@@@@@@@@@@@@@@@#BG39hAAAHM#@@@@@@@@@@@@@@@@@@@@@H  i@             
                 ,9@@@@@@@@@@@@#hisriX#@@@@@@@@@@@@@@@@@@#BA9999GAB#@@@@@@@@@@@@@@@@@@@@@@@   @h            
               ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######MAh25S29A#@@@@@@@@@@@@@@@@@@@@@@@@r  .G            
             .ih255r,..  ;;:;A@@@@@@@@@@@@@@@@@@@#BAG9&&9X5issi59A#@@@@@@@@@@@@@@@@@@@@@@@@H   ..           
             ..                 S@@M#M@@@@@@@@@@@M&Xissiiiiisii5XA#@@@@@@@@@@@@@@@@@@@@@@@@A                
            ...                   ,sM@@@@@@@@@@@@H95s;;rsiiSiisi5G#@@@@@@@@@@@@@@@@@@@@@@@@G                
           .,,,.         ........,rH@@@@@iA@@@@@MSi5r;;rsSSSisrsi9B###@@@@@@@@@@@@@@@@@@@@@i ,h,5.       ,5 
           ....         ....,,,::rSGH#@@A;X@@@@Br;;;;:::;;;;;;;;rSXhAB#@@@@@@@@@@@@@@@@@@@#: .,:;;;;:,:,;;; 