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