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