`.,,..`                                                
                                                                                                            `;@';::::;;'#@:                                            
                                                                                                          ,@;;;;:::::::;;::;@;                                         
                                                                                                        `@;;::::::::::;;;;;:;;++                                       
                                                                                                       @;;:::;;;:::::::::::;;;::+:                                     
                                                                                                     ,#;;:;:;::;;:::::::;;;;::;;;;@                                    
                                                                                                    ';:;;;:::;;::::::::::::::;;:::;#`                                  
                                                                                                   @:;::::::::::::::::::::::::::::;;+`                                 
                                                                                                  @:::::::::::::::::::::::::::::;;:::+`                                
                                                                                                 @;;;;:::::::::::::::::::::::::::;::;;#                                
                                                                                                @;;;::::::::::::::::::::::::::::::;;;;;@                               
                                                                                               #;::;:;::::::::::::::::::::::::::;::;;::;.                              
                                                                                              :;::;:::::::::::::::::::::::::::::;:::::::@                              
                                                                                             `';:::::::::::::::::::::::::::::::::::::::;;.                             
                                                                                             @::::::::::::::::::::::::::::::::::::::::;::@                             
                                                                                            ;;:::::::::::::::::::::::::::::::::::::::::;;'                             
                                                                                          '@';:;:::::::::::::::::::::::::::::::::::::::;;;.                            
                                                                                         @:;;;:::::::::::::::::::::::;::::::::::::::::;;;;+                            
                                                                                        +;;::::;:::::::::::::::::;;::;::::::::::::::::::;;@                            
                                                                                        +;:;:;;;;:::::::::::::::::::;;:::::::::::::::::::;@                            
                                                                                        ':;;;;;#;:::::::::::::::;:;:;::::::::::::::::::::;#                            
                                                                                        ''''+#'#;:::::::::::::::;#;::;:::::::::::::::::::;@                            
                                                                                      .#;:::;:;;;:::::::::::::::;#;;:;::::::::::::::::;::;@                            
                                                                                      +;::;:::;;:;::;:::;::::::;'#;:;;;:;;:::::::::::::;;:'                            
                                                                                     @:;:::::::::;:;;::;;;;:::::::+;::;;::;::::::::::::;:;`                            
                                                                                     ';:;;;;::;;;:;'::;:::::::::;:;'';::;:;:::::::::::;;;+                             
                                                                                    ,;;'+####+;:;;;#;:;::#:::::::;;:;+::;;;:::::::::::;::@                             
                                                                                    @@.  :@'   :@';'::::#;;::::::;:;;;+:::;:::::::::::::;.                             
                                                                                    @     +       @';;;';;:;:;:;::;:;:';;;::::::::::::;:@                              
                                                                                    @              ;;;;@@@@+';;;:;::;;:#:;;:::::::::::;;:                              
                                                                                    @              ';::,     .+#;:;::::;';:::::::::::::#                               
                                                                                    +              @;:;`      :@+++::;;;#;::::::::::;;;,                               
                                                                                    `.            ,;:;;`      `@,  :+;;:';:::::::::;:;@                                
                                                                                     @            +;:;:.             @;:;;:::::::;:::;.                                
                                                                                      @          @;;:;:+              :'';;:::::;::::@                                 
                                                                                      '@`      .@:::;::#               :+:;:::::::::+                                  
                                                                                     ,:;'@:..:@#;;::;::;.               #::::::::;;;'                                  
                                                                                     @;;;;;;;+';;:;;:::;@              ,;:;::::::;:#                                   
                                                                                     @;:;::;#;;;::::;;;;:#             #;:::::::;:;,                                   
                                                                                     @:;;'#;;:;;::::::::;;@           @:;:;;:;;::;@                                    
                                                                                     @:+#;::;::::::::;;::;:#.       `@::::;;:;::;'`                                    
                                                                                    .@';;;:;;;:;:::::::;;;';;@:` `.#':;;:;::;;:;:#                                     
          :+                                                                      `@;:;;:;:::::;::::::;:::+;;::;'';;;:::;;::;:;;+                                      
         @::@                                                                    :':::::::;:;::;::::::;;;::+';;;:;;::;:;:::;;:;;+                                      
        :;::+                                                                   +;:;:;:::::::::::::::::::::;;#;;:;::::::::;;;:;+                                       
        +;;:;`                                                                 +:::;::::::::::::::::::::::::;:;+##':;;:::::::;:+                                       
       #;;;::;                                                                ;;;;:;:;:::::::::::::::::::::::;:::::;;;::::::;;'                                        
       ':::::@                                                               `'::;;:;;:::::::::::::::::::::::::;;;;;:::::::;::@                                        
      '::::;;#                                                               @::;;::#;::::::::::::::::::::::::::;::;:::::::;;;`                                        
      #;:;:;:'                                                              ;:;;:;:;;::::;::::::::::::::::::;;:;;::;;:::::::;@                                         
     ,;;::;;;:+                        :                                    #;:;:;:#::::;:::;;::;;:;:;::::::::::::::::::::::;;                                         
     @::;;:;;;;+,                      +',                                 :;;;;::';:::;;+;::;;;::;;:;::::::::::::::::::::::'                                          
     ';::;::;:;::@                     @:',                                @;:;:;:#:;:::;':;::;;:;;::;::::::::::::::::::::::#                                          
    `;;::::;;;:;;;                     @:;'`                               ';:;::';;:;::#;:;:;;;';::;::::::::::::::::::::::;@                                          
    #:::::;:;:;;:;;                    @;:;#                              ,;;:;;;#:;::;;'::;::;:#::;;:::::::::::::::::::::::.                                          
    #;::::::::::;;@                    #;::;@                             #:::::;':;;::#;::;:;;;;;:::::::'+;::;;:::::::::::'                                           
    +:::::::::::;:'                    +;:;;;`                            @:::;;';:;;:;#::;;;;;#::::::;:@@@@;;::::::::::;;:#                                           
    ;:::::::::::;:;,                   ';:;::@                            @;;:;;#::;::;;:;;:;;;';:::::;@@@@@@:;::::::::;;;:@                                           
   ,:::::::::::::::##+`               `;;:;;:;.                           @:;;;:#;:;::+::;;:;:':::::::'@@@@@@:;;:::::::;;::;                                           
   ;;:::::::::::;;;:;;@               :;;::;::@                           ;::;::#:::::#:;:::;:#;::::::##@@@@@;;:::::::::;:;,                                           
   '::::::::::::::::::+               +::;:;:;'                           `;;:::#:;:;:#;:::;;:#:::;;::#;:;'##:::::::::::::;`                                           
   ';:::::::::::::::::;`              @;:;:;::::                           @::;;#::;;:+;:::;:;+:::;:::';:::;:;;:::::::::;:;                                            
   :;:::::::::::::::::;. .            +;:;:;::;@                           .;:::':;;::+;;::::;;;;:::;;';;;;:;;:;:::::::;;;'                                            
   .;::::::::::::::::::+.;+          .;;;:::;::+                            ;';:;';:::+;;:::;;;;;::;;;;;::;;;;:::::::::;;:+`                                           
    ;::::::::::::::::::'':;@         +::;:::::;;`                            .@#@@;::;#:::::;;;:;:;;:':;;;::::;::::::::;;:+`@                                          
    +;:::::::::::::::;:;;::;`        @:;;:::::;:.                                 @;;;#::;::;;':::;;:#::;;:::;;;::::::::;:@``@                                         
    #;:;;::::::::::::::::::;'       .;:::::::;;:;                                  +@@#;:;::;:+;;::::#;:;;::::::::::::;:;;.```+                                        
    @::;::;:::::::::::::::::#       @:;::::;:;:;+                                    :##;;;:;+@;;:;:;;::;;::::::::::::;::@````,`                                       
    .:::;::::::::::::::::::::@     `';:::::;:;;:#                                 `@.`':#+;;#;;';;::#:;;;:::::::::::;:::;,`````#                                       
     ';;;:::::::::::::::::::::;'@  @:;:::::::;:;#                                `;``,;:;;;;:::+';;#;::;::::::::::::;:;;@``````'                                       
     @::::::::::::::::::::::::;;;;.;;;:::::::;::#                               `#```'';::;:;;:;;'';;;::::::::::::::;;#;.```````.                                      
     ,;;::;:::::::::::::::::::::;+#;;:::::::::;:+                              ';````@:+;;;:;:;;::::;;:::::::;;::;;;++.@````````@                                      
      +:;::::::::::::::::::::::::;;;;:::::::;;::;                            @;``````+,,#+;;:;;:::;:::::;;;:::;;:;#+,,'`````````..                                     
      ';::;::::::::::::::::::::::;#;:::::::::;;;.                          @:````````;,,,.;@+;:;;;:::;::::;;;:;##:,,,,:``````````+                                     
       +:;;:::::::::::::::::::::;:#;:;:::::::;:'`                        ;;``````````:,,,,,..:'@@#+'''''++@@+:,.,,,,.@````````````@                                    
       +:::::::::::::::::::::::::::::::::::::::#                       ,@```````````.,,,,,,,,,:,,,.,,,,,..,,,,,,,,,,#``````````````@                                   
        #:::;;::::::::::::::::::::;::::::::::;;@                      @`````````````.,,,,,,,,,;.,,,,,,,,,,,,,,,,,,,:.```````````````@                                  
        ,;;:;:::::::::::::::::::::::::::::::;:;.                    ;;'`````````````.,,.,,,,,,#.,,,,,,,,,,,,,,,,,,,'```````````````` @                                 
         @:;:::;::::::::::::::::::::::::::::;:#                    @`;``````````````.+,,,,,,,,@,,,,,,,,,,,,,,,,,,.@```````````````````'                                
          #:::;::::::::::::::::::::::::::::::;;                  :;``@``````````````.,';,,,,,.#,,,,,,,,,,,,,,,,,.@````````````````````.:                               
           +:;:::::::::::::::::::::::::::::;:+                  @```,```````````````.,,,@:,,,,;,,,,,,,,,,,,,,.:@@``````````````````````:.                              
           .';::;::;:::::::::::::::::::::::::#                `#````@```````````````.,,,,:@'.;,,,,,,,,,,,,.:+@:@````````````````````````+                              
            ,;;;:::;;:::::::::::::::::::::::;`               ;,`````:````````````````:,,,,,,;#@':,,,,,:'#@',..@``````````````````````````@                             
             :;;:;::;;:::::::::::::::::::::;#               @``````,`````````````````;,,,,,,,,,,,,,:,,,..,,,,@````````````````````````````@                            
              ,';:;;:;::::::::::::::::::::::@.`            @```````@`````````````````',,,,,,,,,,,,,,,,,,,,,.@``````````````````````````````:                           
               .+:;;;:::::::::::::::::::::::+`,.         `+````````;`````````````````@,,,,,,,,,,,,,,,,,,,,,#```````````````````````````````:`                          
                 @;;:::::::::::::::::::::::;,:`@        ,:````````.``````````````````@,,,,,,,,,,,,,,,,,,,;:`````````````````````````````;@#@@                          
                  @;;::;;:::::::;;;::::;;::;@``;       ;,`````````@``````````````````#.,,,,,,,,,,,,;:.,.@`````````````````````````````';`````@                         
                   ''::;::;:::::::;;;;::;::@```.`     +```````````#``````````````````:.,,,,,,,,,,,':;'@#`````````````````````````````@```````.,                        
                    .#:;::::::::;;;;;:;::;#`````;    @````````````:``````````````````.,,,,,,,,,,,,:::::;@```````````````````````````@`````````'                        
                      @;:;;:::::;::;;;;:@,``````@   @````````````,````````````````````;,,,,,,,,,,,.#:;;;;'+````````````````````````@```````````@                       
                       '+;::::::::::::#;````````'  @`````````````+````````````````````@,,,,,,,,,,;';;:::;;;@``````````````````````:`````````````;                      
                       ;`@:;;;;;:;;+@,``````````. @``````````````@````````````````````#,,,,,,,,,@```#:::;:::':````````````````````;`````````````:`                     
                      ;```'':;;'#+:``````````````@```````````````;````````````````````:,,,,.,.+:````;;;:;;;:;;+``````````````````@```````````````@                     
                      @```@@',.``````````````````#``````````````..`````````````````````;,,,,:@```````#;:::;;;;;@`````````````````:````````````````'                    
                      '``````````````````````````@``````````````,``````````````````````@,,,#.````````;;;;:;;:;;:#```````````````+`````````````````:`                   
                      #``````````````````````````,``````````````#``````````````````````+.;+```````````+;;:;;:;:;;;``````````````+``````````````````@                   
                      @```````````````````````````,`````````````@``````````````````````.@`````````````+::;;:;:;;;'.````````````:````````````````````,                  
                      ,```````````````````````````'`````````````+`````````````````````#,``````````````.;;:::::::;:@````````````@````````````````````'                  
                       ;``````````````````````````@`````````````,```````````````````;+`````````````````@;::::::::::;```````````:`````````````````````@                 
                       @```````````````````````````````````````..`````````````````.@```````````````````@;:;:::::::;#``````````.``````````````````````,`                
                       .```````````````````````````````````````,`````````````````@.````````````````````+;:;:::::;:;::`````````#```````````````````````@                
                        @``````````````````````````````````````'```````````````+:``````````````````````#:;::::::;:::@`````````@````````````````````````,               
                        +``````````````````````````````````````@`````````````;'````````````````````````#::;::::::::;;.````````;````````````````````````#               
                        .``````````````````````````````````````@```````````,#``````````````````````````@:;;:::::;::;:#````````.`````````````````````````;              
                         ;`````````````````````````````````````#`````````.@````````````````````````````#;;:::::::;;:;#```````,``````````````````````````+              
                         @`````````````````````````````````````'````````@.`````````````````````````````#;;:::::::;;;:'```````+```````````````````````````;             
                         #`````````````````````````````````````;```````+```````````````````````````````';;:::::::;:;::,``````@```````````````````````````@             
                         .`````````````````````````````````````,```````@```````````````````````````````;::::::::::::::+``````@````````````````````````````,            
                          ,````````````````````````````````````````````:```````````````````````````````,;:;:::::::::::@``````+````````````````````````````@            
                          @```````````````````````````````````,````````,````````````````````````````````':::::::::::::#``````'````````````````````````````.`           
                          @```````````````````````````````````;```````..```..```````````````````````````@:;:::::::::::'``````;`````````````````````````````@           
                          ,```````````````````````````````````'```````.```@.`@``````````````````````````:;;:::::::::::;``````,`````````````````````````````'           
                           ,``````````````````````````````````#```````.``.````@````````````````````````:+@;:::::::::::;:`````.``````````````````````````````.          
                           @``````````````````````````````````@```````.``+````@``````````````````````++;;::::::::::::::'````````````````````````````````````@          
                           '``````````````````````````````````@```````,``,````@`````````````````````@::::;;::::::::::::@:'.`````````````````````````````````+          
                            .`````````````````````````````````+```````,```@``;.````````````````````:;;:;;:::::::::::::;@``.@,```````````````````````````````.          
                            @`````````````````````````````````:```````,````;'`````````````````:+++#+:;::;;;:::::::::::;;.```.@```````````````````````````````;         
                            ;````````````````````````````````,````````:``````````````````````+;;;:;:;;;;::;::::::::::::;@`````:@.````````````````````````````@         
                             :```````````````````````````````'````````;`````````````````````#;:::::::::::::::::::::::::;#```````.@,``````````````````````````'         
                             @```````````````````````````````@````````'```````````````.@#@#+#;;:::::::::::::::::::::::;;@``````````+@.```````````````````````.`        
                             `,`````````````````````````````.,````````+```````````````@::;;;;::;;:::::::::::::::::::::;:@`````````````;@+.````````````````````,        
                              @`````````````````````````````@`````````@````````+###@:,':::::;:;;::::::::::::::::::::::;:@`````````````````````````````````````@        
                              `,```````````````````````````.,`````````@@@@#';:+:;;;:;;:;:;:;::;:::::::::::::::::::::::;;+`````````````````````````````````````@