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