________________________________________________________________________________________________________________________________________________________________________________________________________
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                      ____;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                    ____            ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                   ____                `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
____              `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;____.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
____  ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;____;;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
____              .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`  ____        :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;____;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .____'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
____   ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';____''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
____ ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
____              .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
____  :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:           ____    :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
____                                                        .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
____  :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
____   ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
    ____          ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                ____     #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
____                                                                                                                                                                                                    
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                           ____;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
____ :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
____    ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
____ ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
____   ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.        ____                  ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
____                                                                                                                                                                                                    
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
____  :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,          ____  `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++____##'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;     ____            `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                ____;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`           ____       .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
____ :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
     :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:'____;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;''____:;'''+#+.       
____   ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
       :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
                `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                               `                                                                                                                                        
                                                             .:;;`                                                                                                                                      
                                                            .::;';                                                                                                                                      
                                                           `::;'''.                                                                                                                                     
                  .                                       `;;;;''';`                                                                             .                                                      
                 .,:::`                                  `;;;;'''';;                                 ,'`                           `            .;`                                                     
                 ,,::::       `,                         ;;;;;'''';;                                `:''.                         .:`          .;;:                                                     
                `.,:::;:     `::.                     ,.,;;;;'''''';.                               ;:;':                         :::          ;;;;                                                     
        `       .,,:::::`    ,:::                    ::;'';''''';'';;                         ::   :;::':,                       .::;,      ,`:;;;;,                                                    
       ,,.     `.,,::::;:   `::::                   `;;;;;'''''';;';;                        :::   ;;::+::                       :::::     ;;:;;;;;:                          ``  .+,                   
      `.,:     ..,,::;:;;   :::;:`                  ;;;';;;'''''''';;                        ';;,  ;:::+::.                      ::::;,   ,;;:;;;;;;                         :+';`';;,                  
      ..,:`    ,..,:;:;::,  :::::,                 `;;;';;;+'''''';;;.                 .    `;;;;``;;::+:::                      ::::;; ``;;;;;;;;;;                        ,'';:;;;;'.                 
     `..,,, .  ,..,:;;::;: `:::;::                 ;;;;;;;;+''''+;;';:                 ;    :;;;;':::::+:::                     `::::;;;::;;;;;;;;;;`                      .''';:::;;''`                
     .,.,,:`: .,.,::;;:;;; ,:::;;:                 ::;;';;;+'''++;;';;                 ;    ';;;;':::::::::.                    .::::;;;;;;;;;;;;;;;`                     `''';;::;;'''+                
     .,..,:.:.,,.,::;;:::;.,::;;;;                ,;;:;';;;+'''++;'';;                `:    ';;;;'';::::::::                    ,::::;;;;;;;;;;;;;;;.                     ;'+';;:::;'''',               
     ,:..,:,::,,.:::;;;;;;;:::;;';                :;;;;;';;''''+';;'';                ::   ,'';;;'';:::::::::                   :::::;;;;;;;;;;;;;;;,                     '''';;::;;'''''.:`    :       
     ,:..,::,,,,.:::';;;;;:::;;;';                ;;:;;;'';'''+++;';+;                ', . ';';;;'';::::::::;`                  :::::;;;;;;;;;;;;;;;,                    +'+';;;::;;''''''';`';;+`      
     ,:,.,:::,,,,:::'';;;;:::;;;';               ,;:;;;;''';;'+++;;;;;                ', ; ;'+;;;'';:::::::::,                  :::::;;;';;;;;;;;;;;:                   `'''';;;::;;'''''';;:;:'+`      
     :::.,::::,,,;::'';;;;:::;;'''               ;;:;;;;';'';;+;:;;;:;`              `', ;`''';;;'+;::::::::::. `               :::::;;;';;';;;;;;;;:                   :''';;;;::;;''''''';:';:+       
     :::,,::,:,,,;::+';;;:::;;;'''               ;;;;;;;+''';;:::;;;;;.              '',.;'''';;;'+;::::::::::, ,`              :::::;;;;;;;;;;;;;;;:                   +++';';;::;;''''''';''+:+       
     :::,,::::,,;;::+'';;:::;;;+''              .;;;;;;;+'';;;::;;;;';:              ';,:;'''';;;';;;::::::;::: :.             `:::::;;;;;;;;;;;';;;;                   ++'';;;;::;;''''''':''';+:      
     ::;,,::::,:;;::++';;::;;;;+''              :;:;;;;:+''''::;;;;;;;:              ';,;;''++;;;;;;;':::::;::, :,             .:::::;;;;;;;;;;''';;;                  .++'';;;;::;;''''''';'++++;      
     ::;:,::::,:;;:;++'';:;;;;'+''              ;;;;;;;:+''''::;';;;;';             `+',;;''+';;;;;;':::;:;;;:: :,             ,:::::;;;;;;;;;;;'';;;                  :+''';;;;::;''''''''''+++';      
     ::;:,::::,;;';;++'';::;;;+++'              ;:;;;;;;''''::;'';;;;';             .++,;;''';;;;;;;':::::,;;;: :,             ::::::;;;;;;;;;''';;;;                  '++'';;;;:::''''''';''+++'',     
     ::::,::::;;;';;++++;:;;;;+++'             `;;;;;;;''';'::;'';;;;';             ;+':;'''';';;;;;'::::::;:;:.:,             :::::;;;;;;;;;;;''';;;                  ++''';;;;:::'''''''''++++'+'     
     ::::::::::''':;++++':;;;'+++'             ,;;;;;;;''''':;;';;;;;';             ++':'''''''';;;;';:::::;:;::,,`            :::::;;;;;;;;;;;''';;;`                 +++'';;;;::;'''''''''++++'++     
____ :::;::,:::''':;++++';;;;'+++'             ;;;;;;;;+'''::;'';;;;;';             '+':''''+''';;;;'::::;:':::;,,.            :::::;;;;;;;;;;'''''';`                 +';;;;;;;::;'''''''''++++++'     
     :::;;:,:::+'':;++++';;;;++++'             ;;;;;;;;+'''::;'';;;;;;;             '++:'+'++''';;;;'::::::':::;,,,            :::::;;;;;'';;;'''''';`                 '';:;';;;+';'''''';''++++'++.    
     :::;;::,::+'':;+++++;;;;++++;             ;;;;;;;;+';':;;'';;;;;;'             '++:'+'++''';;;;'::::::;::;:,:,            ;::::;;;;;'';;;'''''''.                 '';::;;;++'';''''';''+++++++:    
     :::;;::,,:''';;+++++;;;;++++;            `:;;;;;;;+';::;''';;;;;;'`            '++;'+'++''';;;;'::::::;;:;:::,            :::::;;;;;'';;;''''''',                 '';;:':;++'';'''';'''+++'++++    
     :::;;;:,,;''';;+++++;;;'++++:            ,;;;;;;;;+';:;;;'';;;;;;'`           `'+';'+''+''';;;:':::;;:;;::::,,            :::::;;;;;'';;;''''''',                 ;';;:;:'++'';;''';'''+++'++++    
     :::;;;:,,;''+;;#++++;;;'++++:            ;;;;;;;;;+;;:;;'';;;;;;;'`           .'+';'+''''';;;;;';::;::;'::::,,            :::;::;;;;'';;;''''''':                 ;';;:,;'++''';';;''''+++'++++    
     ,:::;;::::;++;;#++++';''++++:            :;;;;;;;'+;;:;;'';;;;;;;'`           ,'+';'';'''';;;;;';::;::'':::,,,           `::::::;;;;'';;';'''''';          :+     ;';;::;++';;'''';;'';'++'++++    
     ,::;;;::::;++;;#+++;;''+++++,            :;;;;;;;++;:;;''';;;;;;;;`           :'++;''''''';;;;;';::::;''::,:,,           `:::;::;;;;'';;';'''''';          #'+    ;'';;:;++';;;''';;'';'+++++++    
     ,:;;;;;;::;++';#+++:;''+++++.            ;;;;;;;;++;:;;''';;;;;;;;`           :''+;;+'+''';;';;';::::;';::::,,           `:::;::;;;''';;'''''''';          +;''`  ;;';;;'++;;;;;''''':;++++++++    
     .:::;;;;::;++;'#+#+;''++++++.            ;;;;;;;;+';:;'''';;;;;;;;`           ;''+;:+++''';'':''::::;;';::,:,,           .:::;::;;;';;;;;;'''''';          '+''`  ''';;;'++;;;;;''''':'++++++++    
     `::;;;;;::;++''#+#+;''++++++`           `;;;;;;;;+';;;;''';;;;;;;;`           '''+':+++''';'':''::::;;';::,;,,           .:::;:;;;;';';;;;'''''';          ;+'+'  ;'';;;'+';;;;;;''+:;'++++++++    
     `:;;;;;;::;++''#+#';''+++++'`           .;;;;;;;;+';;;'''';;;;;;;;`           '''+';'+++'+'';;'':::::;;;::,;:,           ,:::;:;;;'';';;;;'''''';          :''';  ;;;;;;'+';;;;;;'',;:++++'++++    
     `:;:;;;';:;'++'###:'''+++++'            :;;;;;;;'+'';;''';;;;;;;;;`           ';'+';:+++''''';''::::;';;:::::,           ,:::;:;;;'';';;';'''''';          ;:;''; ';;;;;'+';;;;;;;::;;++#+'+++'    
      ::;;;'';:;'++'###:'''+++++'            :;;;;;;;++';;;''';;;;;;;;;`           +;'++;:+++''''''''::::;';::::::,           ,:::;:;;';';';;'''''''';          ':;;'' ';;;;;'';;;;;;;;:;;'++#+'+++,    
      :;;;;'';;;'#++###:'''+#+#+'            :;;;;:;;++':;;''';;;;;;;;;`           +;''+':;++''''''''::::'';::,:,,,           ,:::;;;;';';';;;''''''''         `',:''':;;;;;;'+;;;;;;';'''+'+#+''++.    
      :;;;;'';;;'#++###;'''##+#+'            ;;;;;:;;++':;'''';;;;;;;;;`           ;;''+':;+++'''+'''::::'';::,,,,,           ::::;;;;;'';';;;''''''''         ,;::;''';;;;;;;+;:;;;;'''+++'+++'+++     
      :;:;;''':;'#++###;''+##+#+'            ;;;;;:;;++':;''';;;;;;;;;;`           ,;''++:;;++'''''''::::'''::::,..           ::::;:;;;;';';;';'''''''         ;;:::''';;;;;;;';:;;;'';;'+''+++''++     
      :;;;;;'';;'##+###''++####+'            ;;;;;:;'+'';;''';;;;;;;;;;`           .;''#':;;+++'+''''::::'''::,:,.`           :::;;:;;';';';;'''''''''         +':::;'+';;;:;;';:;;;''';;+;'#+#'+++     
      :;;;;;'';;'##+###''++#####'            ;;;;;:;++'';;'';;;;;;;;;;;`           `;''++:;;;+''+''''::::'''::,:,,            :::;;:;;;;';';;'''''''';         ';;::;'''';;;:;';:;;;''';;+;'++#'++,     
      :;;;;;''';+##+###'+++#####'            ;;;;;:;'+';;;'';;;;;;;;;;;`            ;''++;;;;+''+';''::::''';:,,:,            :::;;;;;;;';';;;''''''''`        ,;;;::;'';;;;:;';:;;';'';;+;'++#'++      
      :;;;;;''';+######'+#######'            ;;;;::;'+';;;'';;;;;;;;;;;             ;'+++;;;;'''+'';;::::+;';:,,:,            :::;;;;;;;';';;;''''''''`         +';::;'';;;;:;'::;;;;'';;;''++#'++      
      :;;;;;''';+######'+#######+            ;;;;:;''+':;;'';;;;;;;;;;;             ';+++';;;;'++'';;::::';';:,,,,            :::;;;;;;;';';;;''''''''`         +'';:;;+;;;::;;;:;';'';:;;''++#'++      
      :;';;'''';#######'+#######'            ;;;;;;''+':;'';;;;;;;;;;;;             ''+++';;;;'++;';:;:::;;'::,,,.            :::;;;;;;;';;;;'''''''';`         `+';;;''';;;:;;::;;;'';;;;''++#'+;      
      :;';;'+'';#######'+#######;            ;;;;:;'++':;;';;;;;;;;;;;;             ';''+';;;;'+';';:;:::;;;,:,,,`            :::;;;;;;;';;;;'''''''''.          +''';;'';;::;;::;;;'';;;;'+++#++`      
      ,;'';'++';##@####'+#######,            ;;;;:;'''';;'';;;;;;;;;;;;             ';''+';;;;'+''';::::;;;;,,,:,             :::;;;;;;;';;;;'''''''''.          `+'';;''';::';::;;;'';;:;'+'+#++       
      `;''''++';##@@###'#######+`            ;;;;:;'''';;;';;;;:;;;;;;;             ;;''+';;;;'+''';::::';;:,,,:,             :::;;;;;;;';';;'''''''''.           +''';''':::''::;;'';'':;+'''#++       
       ;''''+++;###@###+#######+             :;;;:''''';;'';;;;;;;;;;;;             ,'''++;;;;+++;';::::;;::,,,:,             :::;;;;;;;';;;;''''''''',           +''''''';;:;;::;;';'';:;+'''#+;       
       ;'''++++;###@###'#######'             :;;;;''''';;';;;;;;;;;;;;;              '''++;;;;'+';';::::;;::,,,,.             ::;;;;:;;;';;;;''''''''',           ++'''''';;:;;::;'';'';:;'''+#+.       
       ;'''++++;##@@##@+#######'             ,;;;:''''';;;;;;;;;;;;;;;:              ''''';;;;;+''';::::;;:,,,,,`             ::;;;;;;;;''';;''''''''',           ++'''''';;::;::;';;;';;;'''+#'        
____   :'''++++;##@@##@+#######'             .;;;;'''';;;;;;;;;;;;;;;;.              ;'+';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;''';;''''''''',           +++''''';;::;::;';;;';;;'''+#+`       
       .;''++++;##@@##@+#######:             `;;;''''';;;;;;;;;;;;;;;;`              `''';;;;;;+''';:;;;';:,,,:,              :::;;;;;;;'''';''''''''',           +++'''''';::;::''';;';;;'';+#'        
        ;'+++#+'##@@##@+######+`              ;;;+'''';;;;;;;;;;;;;;;;                ''';;;';;'''';:;;''::,,,:,              ::;;;;;;;;'''';''''''''',           ++'''''';;:;;::''';;;;;;'';+#.        
        ;'+++#+'##@@##@+######'               :;:''''';;;;;;;;;;;;;;;;                :''';;':;'''';:;;''::,,,,`              :;;;;;;;;;'''';'''''''''.           '+'';''+;;:::::''';';:;;'''+#         
        :''++#+'@#@@@@@+######'               :;:+'''';;;;;;;;;;;;;;;;                 ;'';:;:;'''';:;;'':,,,,,               ,;;;;;;;;;'''';'''''''''.           :+'';''+';::;::;';'';:;;;''+#         
        `''++#+'@@@@@@@#######`               .;'''''';;;;;;;;;;;;;;;.                 ;'';:;;:;''';;;;;;:,,,,,               .;;;;;;;;;'''';'''''''''.           .+''''''';;:;;::';';::;;;''+#         
         ''++##'@@@@#@@######+                `;+'';'';;;;;;;;;;;;;;;                  `;;;::;:;''';;;;;;:,,,,`               .;;;;;;;;;'''';'''''''''`            ++'''''';;:;;::';';:,;;;''#'         
         ,'++##+@@@@#@@######'                 ;+'';;';;;;;;;;:;;;;;;                   ;''::;;;';';;;';:,,,,,                `;;;;;;;;;''''''''''''';             #+'''''+';:';::';;::;;;;''#:         
          '++##+@@@@#@@#####+`                 ;++';;';;;;;;;;;;;;;;:                    ;;;::;:';;:;;';:,,,,`                 :;;;;;;;;'''';'''''''';             ++'''''+';;';::';;::';;;''#.         
          ;'+##'@###@@######'                  :++';;;;;;;;;;;;;;;;;`                    ,;;::;:;;;;':+;,,,,.                  ;;;;;;;;;'''';'''''''';             .++'''''';;';:;';;::';;;'+#`         
          `'++#+#####@#####+,                  :'++;;;;;;;;;;;;;;;;;                      ::;::::;;;;;':,,,,                   :;;;;;;';'''';'''''''''              +''''''';;';;:';:::';;;'+#          
           '++#+###########+                   .'++;:;;;;;;;;;;;;;;;                       :::::::;;;'',,,.                    :;;;;;;';'''';'''''''';              +''''''+;;;;;;';:::';;;'+#          
           .'+#+##########+:                    '++';::;;;;;;;;;;;:`                        ,::::;;:;;,,,`                     :;;;';;'''''';'''''''';              `''''''+;;;:;;;':::';:;'+#          
            '++++#++##+###'                     '''':::;;;;;;;;;;;:                          `,:::''':,,                       .;;;';;''''+'''''''''';               ''''''+;;;:;;;';::';:;+##          
            .'++'++'++++++;                     `';;:::;;;;;;;;;;:                              ,;;;:`                         `;;;';;''''+''''''''';.                :'''++';;:;;;';::';;;++;          
             ;'+''''''+++'                       `,,`.:;;;;;;;;;;`                               +''.                           ;;'';;''''+''''''''';`                 ;'''++;;;;;;+;:;';;;+#`          
              ;'''''';''',                            ,;;;;;:;:;,                                +';`                           ;;'';;''''+''''''''';                   ;''++;;;;;;+;:;';;;##           
              .:;:''';;;;                             :::::;:;:;                                 +';                            :;''';'+''+''''''+'';                    :'+';;'';;+;:;';;'##           
               ,:;''';;;                              ;::::::;:                                  +;;                            `;''';'+''+''''''+';:                     ''+'''';;';;;';;'#+           
                ::'';;;.                              ':::::::                                   +;;                             ;''';'+''+'''''''';`                      +++''';;';;;;;;+#.           
____            `,;';;:                               ';:`.,.                                    +;;                             :;'';''+'+'''''+'';                        +''''''';;';;;+#            
                 .:';;                                '';                                        +;;                             `;'';''''+''''''';,                        `++''''';;';;'##            
                 `,';;                                '''                                        +;;                              :'';;'''+''''''';                          `++'+'+';';;'#,            
                  ,;;.                                '';                                        +;;                              .;;;;'''''''''';.                           `++#++''';;++             
                  .;'                                 '';                                        +;;                               :;;;''''''''';:                              ####''';'+'             
                  .;'                                 ';'                                        +;;                               .;;;;''''''';:`                               +##++'''#`             
                  .;'                                 ';'                                        +;;                                .:;;'''';;;;                                    ##''+#              
                  `:;                                 '''                                        +;;                                  ::;''';;,                                     #@++#`              
                  `:;                                 ';;                                        +;;                                   ,;'';;.                                      '@,:                
                  `:;                                `';;                                        +;;                                    ,'''.                                       ,@:                 
                  `:;                                `'';                                        +;;                                     '''                                        .@;                 
                  `:;                                .'':                                        +;;                                     ;''                                        `#+                 
                  `:;                                ,'',                                        +;;                                     ;';                                         #+                 
                  `:;                                :''.                                       `+;;                                     ;';                                         @@                 
                  `:;                                :''`                                       `+;;                                     ;';                                         @@                 
                  `,;                                :''`                                       `+;;                                     ;';                                         #@                 
                  `,;                                ;''`                                       `+;;                                     ;';                                         ##                 
                  `,;                                ;''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        `+;;                                     ;';                                         #@                 
                  `,;                                '''                                        .+;;                                     ;';                                         +@                 
                  `,;                                '''                                        .+;;                                     ;';                                         ;#`                
                  `,;                                '''                                        .+;;                                     ;':                                         `@'                
                  `,;                                '''                                        .+;;                                     ;':                                          @+                
                  `,;                                '''                                        .+;;                                     ;',                                          ##                
                  `,;                                ;''                                        .+;;                                     ,'.                                          ##                
                  `,:                                '''                                        .+;;                                     `;`                                          @@                
                                                                                                                                                                                                        
                                                                                                            
____________________________________________________________________________________________________________
____________________________________________________________________________________________________________
____________________________________________________________________________________________________________
                                                                                         `,::::::::::::::::,,,,,,,,......````                                                                           
                                                                                        `,::::::::::::::::::,,,,,.......`.```                                                                           
                                                                                       `,:::::;;;::::::,,,,,,,,,........````                                                                            
                                                                                      .,:::::;;;::::::::,,,,,,,........`````                                                                            
                                                                                     .,:::::;:::::::,,,,,,,...........``````                                                                            
                                                                                    ,:::::::::::::,,,,,,,,,...........``````                                                                            
                                                                                   ,::::::::::::,,,,,,,..............```````                                                                            
                                                                                 `,::::::::::,,,,,,,,........`......````````                                                                            
                                                                                .,:::::::::,,,,,,,,,,,.......`.`.```````````                                                                            
                                                                               .:::::::::,,,,,,,,,,,,...........````````````                                                                            
                                                                              ,::::::::::,,,,,,,.............````````......`                                                                            
                                                                             ,:::::::::,,,,,,,,,.........`.````````........``                                                                           
                                                                            ,::::::::::,,,,,,,.....`....``````````....``..```                                                                           
                                                                           ,::::::::::,,,,,,.......````````````..``````...```                                                                           
                                                                          ,:::::::::,,,,,.........``````````..`.`````...``.``                                                                           
                                                                         ,::::::::,,,,,,.......`````````...``..``````..``..``                                                                           
                                                                        ,::::::::::,,,,....`..````````..```..````````.```````                                                                           
                                                                       ,::::::::::,,,,,....`.```.````...`..`````````````````                                                                            
                                                                      ,::::::::::,,,,...`..``.``.`........``````````````.```                                                                            
                                                                     ,::::,,::,,,,.......`.````..........`````````````.````                                                                             
                                                                    ,,,,,,,,,,,,..,..``.``.``...........```````````````````                                                                             
                                                                   `,,,,,,,,,,,,,..,.``````.............```.``````````````                                                                              
                                                                  ..,,,,,,,,...........````................``````````````                                                                               
                                                                 ,,..,,,,,,,.....`....,......................`.``````````                                                                               
                                                                .,,..,,,,,,.......``............,............```````````                                                                                
                                                                ,,,,,,,.,,,...,..........,.....,...........`..`````````                                                                                 
                                                               `,,,,,,,,.,,.....,,......,.....,..............``````````                                                                                 
                                                               .,,,,,,,,,,.,,,,,,.,,...,.....,,............```````````                                                                                  
                                                               .,,,,.,,,,.,.,,..,......,....,,.............``````````                                                                                   
                                                               .,,,,.,,,,,.....,,,.........,,..............`````````                                                                                    
                                                               .,,...,,,,,,,,.....,:,......,................```````                                                                                     
                                                              `,,,....,,,,,,,,,..,.,,,.....,..............````````                                                                                      
                                                              .,,,....,,,,,,,,,,..,..,....,............`.`````````                                                                                      
                                                              ,,,,,...,,,,,,.,,.,,,,,,.........``.........````..`                                                                                       
                                                             `,,,,,,,,,,,,,,.......,,,....`   .,,,.......```.```                                                                                        
                                                             .,,,,,,,,,,:,,,,......,,,..`     ,,,,,.......`.`.`                                                                                         
                                                            `,,,,,,,,,:,,,,,.......,,,,.     `,,.......``.``.`                                                                                          
                                                            .,,,,,,,,:,,.,,,........,,,,`    ........````````                                                                                           
                                                           ..,,,,,,,,,,,,,,,,,.......,,,,.  .......`````````                                                                                            
                                                          `,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.......```.``.```                                                                                            
                                                          .,,,,,,,,,,,,...,.,:,,,.......,,,,,....``````.```                                                                                             
                                                         `,,,,,,,,,,,,,......,,,...........,,,,..`.`..`.``                                                                                              
                                                         ,,.,,,,,,,,,,......``..............,,,,...```````                                                                                              
                                                        .,,,,,,,,,,,,,.....`   `.............,,:,,`..`..`                                                                                               
                                                       .,,,,,,,,,,,,,,.....      `..............,,,,..``                                                                                                
                                                      ..,,,,,,,,,,,,,,,....         `.........,....,,..`                                                                                                
                                                     ,,,,,,,,,,,,,,::,,...`           ``.`......,.,,.,..                                                                                                
                                                    `,.,,,,,,,,,,,:::,,,,,              `.`..............`                                                                                              
                                                    ,,,,,,,,,,,,,,,,,::::,              ...`...,`.........`                                                                                             
                                                   .,,,,,,,.,,,..,,,,,:::,,             .`..`..`...........`                                                                                            
                                                  `,,.,,,,,,.......,,,,,,,,,`           `.``..``......`.....                                                                                            
                                                  ..,.,,,,,,,........,,,,,,,,.          `````.````.....``..``                                                                                           
                                                 ....,,,,,,.,..........,,,,,,,,`        ````.````````````````                                                                                           
                                                `.....,,,,,,,,,,.........,,,,,,.`         `````````   ``````                                                                                            
                                                ........,,,,,,,,...........,,,,,.`      ``   ````       ```                                                                                             
                                               `,..........,,,,,,,..........,,,,,.      `                                                                                                               
                                               ............,,,,,,,, ..`......,,,,,,`                                                                                                                    
                                              .,............,,,.,,.  ```......,,,,,,.`                                                                                                                  
                                             `,,...........,,,,,...`   `.......,,,,,,,,`                                                                                                                
                                             ,,,,...........,,,.....     `.......,,,,,,,,.                                                                                                              
                                            .,,..............,......       .........,,,,,,.`                                                                                ____                        
                                           `,.........``....,,......        `.........,,,,,.`                                                                                                           
                                           .....``````  ....,,......`         `.........,,,..                                                                                                           
                                          ....`.````    `...........`           `............`                                                                                                          
                                         ...```````      ....,,.....`              ``.....``.`                                                                                                          
                                        ...```````       `..,,,,,,..`               ````..````                                                                                                          
                                        ````````          ..,,,,,,,.`                 ````````                                                                                                          
                                          ```             `,,,,,.,,..                   ````                                                                                                            
                                                           ,,,,,,,,..`                                                                                                                                  
                                                           ...,,,,....                                                                                                                                  
                                                           `.,,,,.....                                                                                                                                  
                                                            .,,,......                                                                                                                                  
                                                            `,,.,.....`                                                                                                                                 
                                                             .,,......`         ____                                                                                                                    
                                                             .........`                                                                                             ____                                
                                                             `.......``                                                                                                                                 
                                                              ......``                                                                                                                                  
                                                              ..`````                                                                                                                                   
                                                              ``````                                                                                                                                    
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                  `.+.                                  
                                                            .++++++++'.                                 
                                                           '+++++++++'+'                                
                                                          ''++++++++++'''                               
                                                         ''+++++++++++++''                              
                                                   ;    :''+++++++++++++'''                             
                                                 :+++'; ''+++++++++'''''''';                            
                                               :''+++++''++++++++'''+++''''',                           
                                              '++++++++'''+++++'''+++++++++';`                          
                                            ;'++++++++''+'+++''''++++++++'+'';'`                        
                                          `'''+++++++'''''''''''''+++++++++''''''                       
                                         :'+'''+++++''''+'+++++++'''++++++++''''''.                     
                                         ;'+++++++++''''+++++++''+''''++++'++'+'''''                    
                                         .'++++++++''''''++++'+++++++''+++''+'++'++''.                  
                                         :''++++++'++''''+++'++++++++'+++++'+'++'+++'''`                
                                         +++++++++''+''''++'''++++++++'''#+'+'+++++++''':               
                                         ++++++++'+'+''''+''++++###+++''''#'+'++++++++''';              
                                         +++++++++'++''''+'++'++''##++++''#+'''+++++++++''`             
                                         +++++++++'++'''++''++++#+++#++++'#+''''++##+++++++             
                                        `'+++++#++'++'''#'''+++###++##+++'##+'''#+##+++++++             
                                         ''''+++++'++'''#+'++++####+@@##+'##+'+'#+###++++++             
                                         ,''++++++''++''+++#+++#+##'##@#+'##+'+'+++##+++++'             
                                           ;++++++''+#''+++#++####'++###++##+'+'+#+##+++++,             
                                           `+++++#+'+#''##+##+++++++++#@'+@+'+'''####++++'              
                                            +''++##''#+'+#+'##++++++++#'++@+'+'''####++++'              
                                            `'+++###'+++'#+++'++++++++'''+++'+'''####+++':              
                                            '''++###+'#''##+'+++++++''++++#++''''###++++'               
                                           `'''++###@+'+''##+++++++'++++'#++'''''###++++                
                                           ,''''+###@#+++;###++++'+++++++#++''''+###+++`                
____                                       `''''++##@##+++''##++++++++'+##++''''@###+++                 
                                            ''''++######+++++''''''''+###+#''''+###+++'                 
                                            ''+'++####+++++++++++++++#####+''''####+++                  
                                            .'+''+##@##''++#+++++########+''''##@+++++                  
                                             '+''++@@@##'+''''+#########''''######+++`                  
                                             `'+''+#@@###+'''''''''+++''''+######++##                   
                                              `+''+#@@@###+''''''''''''+#+######++++.+                  
                                                '''#@@######++++++'+#####+#####+++##                    
                                                #''''''+###############++++++##++++#:                   
____                                           ###+''''''''''+++++++++++++#####+++#..                   
                                              .####+''''''''''++++++++++######+++++#                    
                                              :####@#+++''++'++++++++++######+++++#                     
                                              ;##########+++++++++++#########+++++                      
                                               #############################++++++                      
                                              `############################++++++                       
                                                #####@@###################+++++#:                       
                                                ######.#+#################+#++,                         
                                                 ####+@ :@###############+#+;                           
                                                 :###; `   :########@###++'                             
                                                   :#         #########++                               
                                                              :######++##                               
                                                               :'+++'                                   
                                                               ,+++'                                    
                                                               .'++'                                    
                                                               `'++'                                    
                                                                '++'                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                         :::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..........                                                                                                                                                 .:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.,..........`                                         
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,.,,,...........`                                          
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,.,............`                                          
                                                                                                        ::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,...........`                                           
                                                                                                       `::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.,,............                                            
                                                                                                       ,::::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,.............`                                            
                                                                                                       ,::,,:,,::,::::::,,,,,,,,,,,,,,,,,.,,,,.............                                             
                                                                                                       ,::::,,,::::::::,,,,,,,,,,,,,,,,,,.,,..............`                                             
                                                                                                       :::::::::,:::::,,,,,,,,,,,,,,,,,.,................`                                              
                                                                                                      `::::,:::::::::,,,,,,,,,,,,,,,,.,.,................`                                              
                                                                                                      ,,,::::::::::::,,,,,,,,,,,,,,,,,..................`                                               
                                                                                                      .::,:::::::::::,,,,,,,,,,,,,,,,,..,..............`                                                
                                                                                                      ,:::,::::::::::,,,,,,,,,,,,,,,..,.,..............`                                                
                                                                                                      ,:,:::::::::::,,,,,,,,,,,,,,,,,,,................                                                 
                                                                                                      ,,::::::::::::,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     .:::::::::::::,,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     ,:::::::::::::,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                              `      ,::::::::::::,,,,,,,,,,,,,,,,,,.................                                                   
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,..................`                                                   
                                                                                               `     ,::::::::::::,,,,,,,,,,,,,,,,.,...............`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,,,...................`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,.,,,................`                                                     
                                                                                                    .::::::::::::::,,,,,,,,,,.,.,.................`                                                     
                                                                                                    ,::::::::::::,,,,,,,,,,,,,.,.................`                                                      
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,..................`                                                      
                                                                                                    ,:::::::::::,,,,,,,,,,,,,...................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,.................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,.,,,,,,.................`                                                       
                                                                                                    ,:::::::::,,,,,,,,,,,,,.,..................`                                                        
                                                                                                    ,:::::::::,,,,,,,,,,,,,...................``                                                        
                                                                                ____               `,:::::::::,,,,,,,,,,,,....................`                                                         
                                                                                                   `,::::::::,,,,,,,,,,,,,....................`                                                         
                                                                                                   .,:::::::::,,,,,,,,,,,.,..................`                                                          
                                                                                                   .:::::::,,,,,,,,,,,,,,,,,................``                                                          
                                                                                                   ,,:::::::,,,,,,,,,,,,,...................`                                                           
                                                                                                   ,:::::::,,,,,,,,,,,,,....................`                                                           
                                                                                                   ,,::::,,,,,,,,,,,,,,,,,.................`                                                            
                                                                                                   ,,::,,,,,,,,,,,,,,,,,...................`                                                            
                                                                                                  `,,::,,,,,,,,,,,,,,...................`.`                                                             
                                                                                                  `,,,:,,,,,,,,,,,,,,,...................``                                                             
                                                                                                  `,,,,,,,,,,,,,,,,,,....................``                                                             
                                                                                                  .,,,,,,,,,,,,,,,,......................`                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................``                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................`                                                               
                                                                                                  .,,,,,,,,,,,,,,,.....................``                                                               
                                                                                                  ,,,,,,,,,,,,,,,,,....................``                                                               
                                                                                                  .,,,,,,,,,,,,,,......................`                                                                
                                                                                                  .,,,,,,,,,,,,,,,....................``                                                                
                                                                                                  .,,,,,,,,,,,,,,,...................``                                                                 
                                                                                                  ,,,,,,,,,,,,,,,,..................`.`                                                                 
                                                                                                  ,,,,,,,,,,,,,,,....................``                                                                 
                                                                                                  .,,,,,,,,,,,,,.................`...`                                                                  
                                                                                                  .,,,,,,,,,,,,,....................``                                                                  
                                                                                                  ,,,,,,,,,,,,,,..............`.....`                                                                   
                                                                                                  ,,,,,,,,,,,,,,,...................`                                                                   
                                                                                                  .,,,,,,,,,,,,,,.................```                                                                   
                                                                                                  .,,,,,,,,,,,,,...................`                                                                    
                                                                                                  .,,,,,,,,,,,,....................`                                                                    
                                                                                                  .,,,,,,,,,,,,...................`                                                                     
                                                                                                 `,,,,,,,,,,,,,..................``                                                                     
                                                                                                 `.,,,,,,,,,,,...................``                                                                     
                                                                                                  .,,,,,,,,,,,,..................`                                                                      
                                                                                                  .,,,,,,,,,,...................``                                                                      
                                                                                                  ..,,..,,,,,...................``                                                                      
                                                                                                  .,,,,,.,,,,...................`                                                                       
                                                                                                  `,,,,,,..,,..................``                                                                       
                                                                                                  .,,,,,,,,.,..................``                                                                       
                                                                                                  .,,,,,,,,,...................``                                                                       
                                                                                                 `,,:,,,,,,.,..................`                                                                        
                                                                                                 `.....,,,,...................``                                                                        
                                                                                                 ..,,...,,,,..................``                                                                        
                                                                                               ` .,,,...,,....,..............``                                                                         
                                                                                       `       `..,,,...,,....,...............`                                                                         
                                                                                                ,.,,,..,,..,.................``                                                                         
                                                                                               .,:,,,,,,,,..................```                                                                         
                                                                                               ,,::,,,,,,...................``                                                                          
                                                                                              .,::,,,,,,.,,.................``                                                                          
                                                                                              ,:,,::,,.,,,..................``                                                                          
                                                                                             ..,::,,,.,,,,.................```                                                                          
                                                                                             .,:::::,,,,,,,,.,............```                                                                           
                                                                                            `,,::::::,,,,,,,,,,............``                                                                           
                                                                                            .,:::::,:::,,,,,,,,,,,.........``                                                                           
                                                                                            ,,:::::::,,,::,,,,,,,,:,,.....```                                                                           
                                                                                           .,::::::::::,,:::,,,,,,,,,,,...```                                                                           
                                                                                          `,:::::::::::::,,::::,,,,,.....````                                                                           
                                                                                         `,::::::::::::::::,,,,,,,,......````                                                                           
                                                                                        `,::::::::::::::::::,,,,,.......`.```                                                                           
                                                                                       `,:::::;;;::::::,,,,,,,,,........````                                                                            
                                                                                      .,:::::;;;::::::::,,,,,,,........`````                                                                            
                                                                                     .,:::::;:::::::,,,,,,,...........``````                                                                            
                                                                                    ,:::::::::::::,,,,,,,,,...........``````                                                                            
                                                                                   ,::::::::::::,,,,,,,..............```````                                                                            
                                                                                 `,::::::::::,,,,,,,,........`......````````                                                                            
                                                                                .,:::::::::,,,,,,,,,,,.......`.`.```````````                                                                            
                                                                               .:::::::::,,,,,,,,,,,,...........````````````                                                                            
                                                                              ,::::::::::,,,,,,,.............````````......`                                                                            
                                                                             ,:::::::::,,,,,,,,,.........`.````````........``                                                                           
                                                                            ,::::::::::,,,,,,,.....`....``````````....``..```                                                                           
                                                                           ,::::::::::,,,,,,.......````````````..``````...```                                                                           
                                                                          ,:::::::::,,,,,.........``````````..`.`````...``.``                                                                           
                                                                         ,::::::::,,,,,,.......`````````...``..``````..``..``                                                                           
                                                                        ,::::::::::,,,,....`..````````..```..````````.```````                                                                           
                                                                       ,::::::::::,,,,,....`.```.````...`..`````````````````                                                                            
                                                                      ,::::::::::,,,,...`..``.``.`........``````````````.```                                                                            
                                                                     ,::::,,::,,,,.......`.````..........`````````````.````                                                                             
                                                                    ,,,,,,,,,,,,..,..``.``.``...........```````````````````                                                                             
                                                                   `,,,,,,,,,,,,,..,.``````.............```.``````````````                                                                              
                                                                  ..,,,,,,,,...........````................``````````````                                                                               
                                                                 ,,..,,,,,,,.....`....,......................`.``````````                                                                               
                                                                .,,..,,,,,,.......``............,............```````````                                                                                
                                                                ,,,,,,,.,,,...,..........,.....,...........`..`````````                                                                                 
                                                               `,,,,,,,,.,,.....,,......,.....,..............``````````                                                                                 
                                                               .,,,,,,,,,,.,,,,,,.,,...,.....,,............```````````                                                                                  
                                                               .,,,,.,,,,.,.,,..,......,....,,.............``````````                                                                                   
                                                               .,,,,.,,,,,.....,,,.........,,..............`````````                                                                                    
                                                               .,,...,,,,,,,,.....,:,......,................```````                                                                                     
                                                              `,,,....,,,,,,,,,..,.,,,.....,..............````````                                                                                      
                                                              .,,,....,,,,,,,,,,..,..,....,............`.`````````                                                                                      
                                                              ,,,,,...,,,,,,.,,.,,,,,,.........``.........````..`                                                                                       
                                                             `,,,,,,,,,,,,,,.......,,,....`   .,,,.......```.```                                                                                        
                                                             .,,,,,,,,,,:,,,,......,,,..`     ,,,,,.......`.`.`                                                                                         
                                                            `,,,,,,,,,:,,,,,.......,,,,.     `,,.......``.``.`                                                                                          
                                                            .,,,,,,,,:,,.,,,........,,,,`    ........````````                                                                                           
                                                           ..,,,,,,,,,,,,,,,,,.......,,,,.  .......`````````                                                                                            
                                                          `,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.......```.``.```                                                                                            
                                                          .,,,,,,,,,,,,...,.,:,,,.......,,,,,....``````.```                                                                                             
                                                         `,,,,,,,,,,,,,......,,,...........,,,,..`.`..`.``                                                                                              
                                                         ,,.,,,,,,,,,,......``..............,,,,...```````                                                                                              
                                                        .,,,,,,,,,,,,,.....`   `.............,,:,,`..`..`                                                                                               
                                                       .,,,,,,,,,,,,,,.....      `..............,,,,..``                                                                                                
                                                      ..,,,,,,,,,,,,,,,....         `.........,....,,..`                                                                                                
                                                     ,,,,,,,,,,,,,,::,,...`           ``.`......,.,,.,..                                                                                                
                                                    `,.,,,,,,,,,,,:::,,,,,              `.`..............`                                                                                              
____                                                ,,,,,,,,,,,,,,,,,::::,              ...`...,`.........`                                                                                             
                                                   .,,,,,,,.,,,..,,,,,:::,,             .`..`..`...........`                                                                                            
                                                  `,,.,,,,,,.......,,,,,,,,,`           `.``..``......`.....                                                                                            
                                                  ..,.,,,,,,,........,,,,,,,,.          `````.````.....``..``                                                                                           
                                                 ....,,,,,,.,..........,,,,,,,,`        ````.````````````````                                                   ____                                    
                                                `.....,,,,,,,,,,.........,,,,,,.`         `````````   ``````                                                                                            
                                                ........,,,,,,,,...........,,,,,.`      ``   ````       ```                                                                                             
                                               `,..........,,,,,,,..........,,,,,.      `                                                                                                               
                                               ............,,,,,,,, ..`......,,,,,,`                                                                                                                    
                                              .,............,,,.,,.  ```......,,,,,,.`                                                                                                                  
                                             `,,...........,,,,,...`   `.......,,,,,,,,`                                                                                                                
                                             ,,,,...........,,,.....     `.......,,,,,,,,.                                                                                                              
                                            .,,..............,......       .........,,,,,,.`                                                                                                            
                                           `,.........``....,,......        `.........,,,,,.`                                                                                                           
                                           .....``````  ....,,......`         `.........,,,..                                                                                                           
                                          ....`.````    `...........`           `............`                                                                                                          
                                         ...```````      ....,,.....`              ``.....``.`                                                                                                          
                                        ...```````       `..,,,,,,..`               ````..````                                                                                                          
                                        ````````          ..,,,,,,,.`                 ````````                                                                                                          
                                          ```             `,,,,,.,,..                   ````                                                                                                            
                                                           ,,,,,,,,..`                                                                                                                                  
                                                           ...,,,,....                                                                                                                                  
                                                           `.,,,,.....                                                                                                                                  
                                                            .,,,......                                                                                                                                  
                                                            `,,.,.....`                                                                                                                                 
                                                             .,,......`                                                                                                                                 
                                                             .........`                                                                                                                                 
                                                             `.......``                                                                                                                                 
                                                              ......``                                                                                                                                  
                                                              ..`````                                                                                                                                   
                                                              ``````                                                                                                                                    
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                  `.+.                                  
                                                            .++++++++'.                                 
                                                           '+++++++++'+'                                
                                                          ''++++++++++'''                               
                                                         ''+++++++++++++''                              
                                                   ;    :''+++++++++++++'''                             
                                                 :+++'; ''+++++++++'''''''';                            
                                               :''+++++''++++++++'''+++''''',                           
                                              '++++++++'''+++++'''+++++++++';`                          
                                            ;'++++++++''+'+++''''++++++++'+'';'`                        
                                          `'''+++++++'''''''''''''+++++++++''''''                       
                                         :'+'''+++++''''+'+++++++'''++++++++''''''.                     
                                         ;'+++++++++''''+++++++''+''''++++'++'+'''''                    
                                         .'++++++++''''''++++'+++++++''+++''+'++'++''.                  
                                         :''++++++'++''''+++'++++++++'+++++'+'++'+++'''`                
                                         +++++++++''+''''++'''++++++++'''#+'+'+++++++''':               
                                         ++++++++'+'+''''+''++++###+++''''#'+'++++++++''';              
                                         +++++++++'++''''+'++'++''##++++''#+'''+++++++++''`             
                                         +++++++++'++'''++''++++#+++#++++'#+''''++##+++++++             
                                        `'+++++#++'++'''#'''+++###++##+++'##+'''#+##+++++++             
                                         ''''+++++'++'''#+'++++####+@@##+'##+'+'#+###++++++             
                                         ,''++++++''++''+++#+++#+##'##@#+'##+'+'+++##+++++'             
                                           ;++++++''+#''+++#++####'++###++##+'+'+#+##+++++,             
                                           `+++++#+'+#''##+##+++++++++#@'+@+'+'''####++++'              
                                            +''++##''#+'+#+'##++++++++#'++@+'+'''####++++'              
                                            `'+++###'+++'#+++'++++++++'''+++'+'''####+++':              
                                            '''++###+'#''##+'+++++++''++++#++''''###++++'               
                ____                       `'''++###@+'+''##+++++++'++++'#++'''''###++++                
                                           ,''''+###@#+++;###++++'+++++++#++''''+###+++`                
                                           `''''++##@##+++''##++++++++'+##++''''@###+++                 
                                            ''''++######+++++''''''''+###+#''''+###+++'                 
                                            ''+'++####+++++++++++++++#####+''''####+++                  
                                            .'+''+##@##''++#+++++########+''''##@+++++                  
                                             '+''++@@@##'+''''+#########''''######+++`                  
                                             `'+''+#@@###+'''''''''+++''''+######++##                   
                                              `+''+#@@@###+''''''''''''+#+######++++.+                  
                                                '''#@@######++++++'+#####+#####+++##                    
                                                #''''''+###############++++++##++++#:                   
                                               ###+''''''''''+++++++++++++#####+++#..                   
                                              .####+''''''''''++++++++++######+++++#                    
                                              :####@#+++''++'++++++++++######+++++#                     
                                              ;##########+++++++++++#########+++++                      
                                               #############################++++++                      
                                              `############################++++++                       
                                                #####@@###################+++++#:                       
                                                ######.#+#################+#++,                         
                                                 ####+@ :@###############+#+;                           
                                                 :###; `   :########@###++'                             
                                                   :#         #########++                               
                                                              :######++##                               
                                                               :'+++'                                   
                                                               ,+++'                                    
                                                               .'++'                                    
                                                               `'++'                                    
                                                                '++'                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                ____
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                         :::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..........                                                                                                                                                 .:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.,..........`                                         
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,.,,,...........`                                          
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,.,............`                                          
                                                                                                        ::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,...........`                                           
                                                                                                       `::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.,,............                                            
                                                                                                       ,::::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,.............`                                            
                                                                                                       ,::,,:,,::,::::::,,,,,,,,,,,,,,,,,.,,,,.............                                             
                                                                                                       ,::::,,,::::::::,,,,,,,,,,,,,,,,,,.,,..............`                                             
                                                                            ____                       :::::::::,:::::,,,,,,,,,,,,,,,,,.,................`                                              
                                                                                                      `::::,:::::::::,,,,,,,,,,,,,,,,.,.,................`                                              
                                                                                                      ,,,::::::::::::,,,,,,,,,,,,,,,,,..................`                                               
                                                                                                      .::,:::::::::::,,,,,,,,,,,,,,,,,..,..............`                                                
                                                                                                      ,:::,::::::::::,,,,,,,,,,,,,,,..,.,..............`                                                
                                                                                                      ,:,:::::::::::,,,,,,,,,,,,,,,,,,,................                                                 
                                                                                                      ,,::::::::::::,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     .:::::::::::::,,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     ,:::::::::::::,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                              `      ,::::::::::::,,,,,,,,,,,,,,,,,,.................                                                   
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,..................`                                                   
                                                                                               `     ,::::::::::::,,,,,,,,,,,,,,,,.,...............`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,,,...................`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,.,,,................`                                                     
                                                                                                    .::::::::::::::,,,,,,,,,,.,.,.................`                                                     
                                                                                                    ,::::::::::::,,,,,,,,,,,,,.,.................`                                                      
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,..................`                                                      
                                                                                                    ,:::::::::::,,,,,,,,,,,,,...................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,.................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,.,,,,,,.................`                                                       
                                                                                                    ,:::::::::,,,,,,,,,,,,,.,..................`                                                        
                                                                                                    ,:::::::::,,,,,,,,,,,,,...................``                                                        
                                                                                                   `,:::::::::,,,,,,,,,,,,....................`                                                         
                                                                                                   `,::::::::,,,,,,,,,,,,,....................`                                                         
                                                                                                   .,:::::::::,,,,,,,,,,,.,..................`                                                          
                                                                                                   .:::::::,,,,,,,,,,,,,,,,,................``                                                          
                                                                                                   ,,:::::::,,,,,,,,,,,,,...................`                                                           
                                                                                                   ,:::::::,,,,,,,,,,,,,....................`                                                           
                                                                                                   ,,::::,,,,,,,,,,,,,,,,,.................`                                                            
                                                                                                   ,,::,,,,,,,,,,,,,,,,,...................`                                                            
                                                                                                  `,,::,,,,,,,,,,,,,,...................`.`                                                             
                                                                                                  `,,,:,,,,,,,,,,,,,,,...................``                                                             
                                                                                                  `,,,,,,,,,,,,,,,,,,....................``                                                             
                                                                                                  .,,,,,,,,,,,,,,,,......................`                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................``                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................`                                                               
                                                                                                  .,,,,,,,,,,,,,,,.....................``                                                               
                                                                                                  ,,,,,,,,,,,,,,,,,....................``                                                               
                                                                                                  .,,,,,,,,,,,,,,......................`                                                                
                                                                                                  .,,,,,,,,,,,,,,,....................``                                                                
                                                                                                  .,,,,,,,,,,,,,,,...................``                                                                 
                                                                                                  ,,,,,,,,,,,,,,,,..................`.`                                                                 
                                                                                                  ,,,,,,,,,,,,,,,....................``                                                                 
                                                                                                  .,,,,,,,,,,,,,.................`...`                                                                  
                                                                                                  .,,,,,,,,,,,,,....................``                                                                  
                                                                                                  ,,,,,,,,,,,,,,..............`.....`                                                                   
                                                                                                  ,,,,,,,,,,,,,,,...................`                                                                   
                                                                                                  .,,,,,,,,,,,,,,.................```                                                                   
                                                                                                  .,,,,,,,,,,,,,...................`                                                                    
                                                                                                  .,,,,,,,,,,,,....................`                                                                    
                                                                                                  .,,,,,,,,,,,,...................`                                                                     
                                                                                                 `,,,,,,,,,,,,,..................``                                                                     
                                                                                                 `.,,,,,,,,,,,...................``                                                                     
                                                                                                  .,,,,,,,,,,,,..................`                                      ____                            
                                                                                                  .,,,,,,,,,,...................``                                                                      
                                                                                                  ..,,..,,,,,...................``                                                                      
                                                                                                  .,,,,,.,,,,...................`                                                                       
                                                                                                  `,,,,,,..,,..................``                                                                       
                                                                                                  .,,,,,,,,.,..................``                                                                       
                                                                                                  .,,,,,,,,,...................``                                                                       
                                                                                                 `,,:,,,,,,.,..................`                                                                        
                                                                                                 `.....,,,,...................``                                                                        
                                                                                                 ..,,...,,,,..................``                                                                        
                                                                                               ` .,,,...,,....,..............``                                                                         
                                                                                       `       `..,,,...,,....,...............`                                                                         
                                                                                                ,.,,,..,,..,.................``                                                                         
                                                                                               .,:,,,,,,,,..................```                                                                         
                                                                                               ,,::,,,,,,...................``                                                                          
                                                                                              .,::,,,,,,.,,.................``                                                                          
                                                                                              ,:,,::,,.,,,..................``                                                                          
                                                                                             ..,::,,,.,,,,.................```                                                                          
                                                                                             .,:::::,,,,,,,,.,............```                                                                           
                                                                                            `,,::::::,,,,,,,,,,............``                                                                           
                                                                                            .,:::::,:::,,,,,,,,,,,.........``                                                                           
                                                                                            ,,:::::::,,,::,,,,,,,,:,,.....```                                                                           
                                                                                           .,::::::::::,,:::,,,,,,,,,,,...```                                                                           
                                                                                          `,:::::::::::::,,::::,,,,,.....````                                                                           
                                                                                         `,::::::::::::::::,,,,,,,,......````                                                                           
                                                                                        `,::::::::::::::::::,,,,,.......`.```                                                                           
                                                                                       `,:::::;;;::::::,,,,,,,,,........````                                                                            
                                                                                      .,:::::;;;::::::::,,,,,,,........`````                                                                            
                                                                                     .,:::::;:::::::,,,,,,,...........``````                                                                            
                                                                                    ,:::::::::::::,,,,,,,,,...........``````                                                                            
                                                                                   ,::::::::::::,,,,,,,..............```````                                                                            
                                                                                 `,::::::::::,,,,,,,,........`......````````                                                                            
                                                                                .,:::::::::,,,,,,,,,,,.......`.`.```````````                                                                            
                                                                               .:::::::::,,,,,,,,,,,,...........````````````                                                                            
                                                                              ,::::::::::,,,,,,,.............````````......`                                                                            
                                                                             ,:::::::::,,,,,,,,,.........`.````````........``                                                                           
                                                                            ,::::::::::,,,,,,,.....`....``````````....``..```                                                                           
                                                                           ,::::::::::,,,,,,.......````````````..``````...```                                                                           
                                                                          ,:::::::::,,,,,.........``````````..`.`````...``.``                                                                           
                                                                         ,::::::::,,,,,,.......`````````...``..``````..``..``                                                                           
                                                                        ,::::::::::,,,,....`..````````..```..````````.```````                                                                           
                                                                       ,::::::::::,,,,,....`.```.````...`..`````````````````                                                                            
                                                                      ,::::::::::,,,,...`..``.``.`........``````````````.```                                                                            
                                                                     ,::::,,::,,,,.......`.````..........`````````````.````                                                                             
                                                                    ,,,,,,,,,,,,..,..``.``.``...........```````````````````                                                                             
                                                                   `,,,,,,,,,,,,,..,.``````.............```.``````````````                                                                              
                                                                  ..,,,,,,,,...........````................``````````````                                                                               
                                                                 ,,..,,,,,,,.....`....,......................`.``````````                                                                               
                                                                .,,..,,,,,,.......``............,............```````````                                                                                
                                                                ,,,,,,,.,,,...,..........,.....,...........`..`````````                                                                                 
                                                               `,,,,,,,,.,,.....,,......,.....,..............``````````                                                                                 
                                                               .,,,,,,,,,,.,,,,,,.,,...,.....,,............```````````                                                                                  
                                                               .,,,,.,,,,.,.,,..,......,....,,.............``````````                                                                                   
                                                               .,,,,.,,,,,.....,,,.........,,..............`````````                                                                                    
                                                               .,,...,,,,,,,,.....,:,......,................```````                                                                                     
                                                              `,,,....,,,,,,,,,..,.,,,.....,..............````````                                                                                      
                                                              .,,,....,,,,,,,,,,..,..,....,............`.`````````                                                                                      
                                                              ,,,,,...,,,,,,.,,.,,,,,,.........``.........````..`                                                                                       
                                                             `,,,,,,,,,,,,,,.......,,,....`   .,,,.......```.```                                                                                        
                                                             .,,,,,,,,,,:,,,,......,,,..`     ,,,,,.......`.`.`                                                                                         
                                                            `,,,,,,,,,:,,,,,.......,,,,.     `,,.......``.``.`                                                                                          
                                                            .,,,,,,,,:,,.,,,........,,,,`    ........````````                                                                                           
                                                           ..,,,,,,,,,,,,,,,,,.......,,,,.  .......`````````                                                                                            
                                                          `,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.......```.``.```                                                                                            
                                                          .,,,,,,,,,,,,...,.,:,,,.......,,,,,....``````.```                                                                                             
                                                         `,,,,,,,,,,,,,......,,,...........,,,,..`.`..`.``                                                                                              
                                                         ,,.,,,,,,,,,,......``..............,,,,...```````                                                                                              
                                                        .,,,,,,,,,,,,,.....`   `.............,,:,,`..`..`                                                                                               
                                                       .,,,,,,,,,,,,,,.....      `..............,,,,..``                                                                                                
                                                      ..,,,,,,,,,,,,,,,....         `.........,....,,..`                                                                                                
                                                     ,,,,,,,,,,,,,,::,,...`           ``.`......,.,,.,..                                                                                                
                                                    `,.,,,,,,,,,,,:::,,,,,              `.`..............`                                                                                              
                                                    ,,,,,,,,,,,,,,,,,::::,              ...`...,`.........`                                                                                             
                                                   .,,,,,,,.,,,..,,,,,:::,,             .`..`..`...........`                                                                                            
                                                  `,,.,,,,,,.......,,,,,,,,,`           `.``..``......`.....                                                                                            
                                                  ..,.,,,,,,,........,,,,,,,,.          `````.````.....``..``                                                                                           
                                                 ....,,,,,,.,..........,,,,,,,,`        ````.````````````````                                                                                           
                                                `.....,,,,,,,,,,.........,,,,,,.`         `````````   ``````                                                                                            
                                                ........,,,,,,,,...........,,,,,.`      ``   ````       ```                                                                                             
                                               `,..........,,,,,,,..........,,,,,.      `                                                                                                               
                                               ............,,,,,,,, ..`......,,,,,,`                                                                                                                    
                                              .,............,,,.,,.  ```......,,,,,,.`                                                                                                                  
                                             `,,...........,,,,,...`   `.......,,,,,,,,`                                                                                                                
                                             ,,,,...........,,,.....     `.......,,,,,,,,.                                                                                                              
                                            .,,..............,......       .........,,,,,,.`                                                                                                            
                                           `,.........``....,,......        `.........,,,,,.`                                                                                                           
                                           .....``````  ....,,......`         `.........,,,..                                                                                                           
                                          ....`.````    `...........`           `............`                                                                                                          
                                         ...```````      ....,,.....`              ``.....``.`                                                                                                          
                                        ...```````       `..,,,,,,..`               ````..````                                                                                                          
                                        ````````          ..,,,,,,,.`                 ````````                                                                                                          
                                          ```             `,,,,,.,,..                   ````                                                                                                            
                                                           ,,,,,,,,..`                                                                                                                                  
                                                           ...,,,,....                                                                                                                                  
                                                           `.,,,,.....                                                                                                                                  
                                                            .,,,......                                                                                                                                  
                                                            `,,.,.....`                                                                                                                                 
                                                             .,,......`                                                                                                                                 
                                                             .........`                                                                                                                                 
                                                             `.......``                                                                                                                                 
                                                              ......``                                                                                                                                  
                                                              ..`````                                                                                                                                   
                                                              ``````                                                                                                                                    
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                  `.+.                                  
                                                            .++++++++'.                                 
                                                           '+++++++++'+'                                
                                                          ''++++++++++'''                               
                                                         ''+++++++++++++''                              
                                                   ;    :''+++++++++++++'''                             
                                                 :+++'; ''+++++++++'''''''';                            
                                               :''+++++''++++++++'''+++''''',                           
                                              '++++++++'''+++++'''+++++++++';`                          
                                            ;'++++++++''+'+++''''++++++++'+'';'`                        
                                          `'''+++++++'''''''''''''+++++++++''''''                       
                                         :'+'''+++++''''+'+++++++'''++++++++''''''.                     
                                         ;'+++++++++''''+++++++''+''''++++'++'+'''''                    
                                         .'++++++++''''''++++'+++++++''+++''+'++'++''.                  
                                         :''++++++'++''''+++'++++++++'+++++'+'++'+++'''`                
                                         +++++++++''+''''++'''++++++++'''#+'+'+++++++''':               
                                         ++++++++'+'+''''+''++++###+++''''#'+'++++++++''';              
                                         +++++++++'++''''+'++'++''##++++''#+'''+++++++++''`             
                                         +++++++++'++'''++''++++#+++#++++'#+''''++##+++++++             
                                        `'+++++#++'++'''#'''+++###++##+++'##+'''#+##+++++++             
                                         ''''+++++'++'''#+'++++####+@@##+'##+'+'#+###++++++             
                                         ,''++++++''++''+++#+++#+##'##@#+'##+'+'+++##+++++'             
                                           ;++++++''+#''+++#++####'++###++##+'+'+#+##+++++,             
        ____                               `+++++#+'+#''##+##+++++++++#@'+@+'+'''####++++'              
                                            +''++##''#+'+#+'##++++++++#'++@+'+'''####++++'              
                                            `'+++###'+++'#+++'++++++++'''+++'+'''####+++':              
                                            '''++###+'#''##+'+++++++''++++#++''''###++++'               
                                           `'''++###@+'+''##+++++++'++++'#++'''''###++++                
                                           ,''''+###@#+++;###++++'+++++++#++''''+###+++`                
                                           `''''++##@##+++''##++++++++'+##++''''@###+++                 
                                            ''''++######+++++''''''''+###+#''''+###+++'                 
                                            ''+'++####+++++++++++++++#####+''''####+++                  
                                            .'+''+##@##''++#+++++########+''''##@+++++                  
                                             '+''++@@@##'+''''+#########''''######+++`                  
                                             `'+''+#@@###+'''''''''+++''''+######++##                   
                                              `+''+#@@@###+''''''''''''+#+######++++.+                  
                                                '''#@@######++++++'+#####+#####+++##                    
                                                #''''''+###############++++++##++++#:                   
                                               ###+''''''''''+++++++++++++#####+++#..                   
                                              .####+''''''''''++++++++++######+++++#                    
                                              :####@#+++''++'++++++++++######+++++#                     
                                              ;##########+++++++++++#########+++++                      
                                               #############################++++++                      
                                              `############################++++++                       
                                                #####@@###################+++++#:                       
                                                ######.#+#################+#++,                         
                                                 ####+@ :@###############+#+;                           
                                                 :###; `   :########@###++'                             
                                                   :#         #########++                               
                                                              :######++##                               
                                                               :'+++'                                   
                                                               ,+++'                                    
                                                               .'++'                                    
                                                               `'++'                                    
                                                                '++'                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                         :::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..........                                                                                                                                                 .:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.,..........`                                         
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,.,,,...........`                                          
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,.,............`                                          
                                                                                                        ::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,...........`                                           
                                                                                                       `::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.,,............                                            
                                                                                                       ,::::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,.............`                                            
                                                                                                       ,::,,:,,::,::::::,,,,,,,,,,,,,,,,,.,,,,.............                                             
                                                                                                       ,::::,,,::::::::,,,,,,,,,,,,,,,,,,.,,..............`                                             
                                                                                                       :::::::::,:::::,,,,,,,,,,,,,,,,,.,................`                                              
                                                                                                      `::::,:::::::::,,,,,,,,,,,,,,,,.,.,................`                                              
                                                                                                      ,,,::::::::::::,,,,,,,,,,,,,,,,,..................`                                               
                                                                                                      .::,:::::::::::,,,,,,,,,,,,,,,,,..,..............`                                                
                                                                                                      ,:::,::::::::::,,,,,,,,,,,,,,,..,.,..............`                                                
                                                                                                      ,:,:::::::::::,,,,,,,,,,,,,,,,,,,................                                                 
                                                                                                      ,,::::::::::::,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     .:::::::::::::,,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     ,:::::::::::::,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                              `      ,::::::::::::,,,,,,,,,,,,,,,,,,.................                                                   
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,..................`                                                   
                                                                                               `     ,::::::::::::,,,,,,,,,,,,,,,,.,...............`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,,,...................`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,.,,,................`                                                     
                                                                                                    .::::::::::::::,,,,,,,,,,.,.,.................`                                                     
                                                                                                    ,::::::::::::,,,,,,,,,,,,,.,.................`                                                      
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,..................`                                                      
                                                                                                    ,:::::::::::,,,,,,,,,,,,,...................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,.................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,.,,,,,,.................`                                                       
                                                                                                    ,:::::::::,,,,,,,,,,,,,.,..................`                                                        
                                                                                                    ,:::::::::,,,,,,,,,,,,,...................``                                                        
                                                                                                   `,:::::::::,,,,,,,,,,,,....................`                                                         
                                                                                                   `,::::::::,,,,,,,,,,,,,....................`                                                         
                                                                                                   .,:::::::::,,,,,,,,,,,.,..................`                                                          
                                                                                                   .:::::::,,,,,,,,,,,,,,,,,................``                                                          
                                                                                                   ,,:::::::,,,,,,,,,,,,,...................`                                                           
                                                                                                   ,:::::::,,,,,,,,,,,,,....................`                                                           
                                                                                                   ,,::::,,,,,,,,,,,,,,,,,.................`                                                            
                                                                                                   ,,::,,,,,,,,,,,,,,,,,...................`                                                            
                                                                                                  `,,::,,,,,,,,,,,,,,...................`.`                                                             
                                                                                                  `,,,:,,,,,,,,,,,,,,,...................``                                                             
                                                                                                  `,,,,,,,,,,,,,,,,,,....................``                                                             
                                                                                                  .,,,,,,,,,,,,,,,,......................`                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................``                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................`                                                               
                                                                                                  .,,,,,,,,,,,,,,,.....................``                                                               
                                                                                                  ,,,,,,,,,,,,,,,,,....................``                                                               
                                                                                                  .,,,,,,,,,,,,,,......................`                                                                
                                                                                                  .,,,,,,,,,,,,,,,....................``                                                                
                                                                                                  .,,,,,,,,,,,,,,,...................``                                                                 
                                                                                                  ,,,,,,,,,,,,,,,,..................`.`                                                                 
                                                                                                  ,,,,,,,,,,,,,,,....................``                                                                 
                                                                                                  .,,,,,,,,,,,,,.................`...`                                                                  
                                                                                                  .,,,,,,,,,,,,,....................``                                                                  
                                                                                                  ,,,,,,,,,,,,,,..............`.....`                                                                   
                                                                                                  ,,,,,,,,,,,,,,,...................`                                                                   
                                                                                                  .,,,,,,,,,,,,,,.................```                                                                   
                                                                                                  .,,,,,,,,,,,,,...................`                                                                    
                                                                                                  .,,,,,,,,,,,,....................`                                                                    
                                                                                                  .,,,,,,,,,,,,...................`                                                                     
                                                                                                 `,,,,,,,,,,,,,..................``                                                                     
                                                                                                 `.,,,,,,,,,,,...................``                                                                     
                                                                                                  .,,,,,,,,,,,,..................`                                                                      
                                                                                                  .,,,,,,,,,,...................``                                                                      
                                                                                                  ..,,..,,,,,...................``                                                                      
                                                                                                  .,,,,,.,,,,...................`                                                                       
                                                                                                  `,,,,,,..,,..................``                                                                       
                                                                                                  .,,,,,,,,.,..................``                                                                       
                                                                                                  .,,,,,,,,,...................``                                                                       
                                                                                                 `,,:,,,,,,.,..................`                                                                        
                                                                                                 `.....,,,,...................``                                                                        
                                                                                                 ..,,...,,,,..................``                                                                        
                                                                                               ` .,,,...,,....,..............``                                                                         
                                                                                       `       `..,,,...,,....,...............`                                                                         
                                                                                                ,.,,,..,,..,.................``                                                                         
                                                                                               .,:,,,,,,,,..................```                                                                         
                                                                                               ,,::,,,,,,...................``                                                                          
                                                                                              .,::,,,,,,.,,.................``                                                                          
                                                                                              ,:,,::,,.,,,..................``                                                                          
                                                                                             ..,::,,,.,,,,.................```                                                                          
                                                                                             .,:::::,,,,,,,,.,............```                                                                           
                                                                                            `,,::::::,,,,,,,,,,............``                                                                           
                                                                                            .,:::::,:::,,,,,,,,,,,.........``                                                                           
                                                                                            ,,:::::::,,,::,,,,,,,,:,,.....```                                                                           
                                                                                           .,::::::::::,,:::,,,,,,,,,,,...```                                                                           
                                                                                          `,:::::::::::::,,::::,,,,,.....````                                                                           
                                                                                         `,::::::::::::::::,,,,,,,,......````                                                                           
                                                                                        `,::::::::::::::::::,,,,,.......`.```                                                                           
                                                                                       `,:::::;;;::::::,,,,,,,,,........````                                                                            
                                                                                      .,:::::;;;::::::::,,,,,,,........`````                                                                            
                                                                                     .,:::::;:::::::,,,,,,,...........``````                                                                            
                                                                                    ,:::::::::::::,,,,,,,,,...........``````                                                                            
                                                                                   ,::::::::::::,,,,,,,..............```````                                                                            
                                                                                 `,::::::::::,,,,,,,,........`......````````                                                                            
                                                                                .,:::::::::,,,,,,,,,,,.......`.`.```````````                                                                            
                                                                               .:::::::::,,,,,,,,,,,,...........````````````                                                                            
                                                                              ,::::::::::,,,,,,,.............````````......`                                                    ____                    
                                                                             ,:::::::::,,,,,,,,,.........`.````````........``                                                                           
                                                                            ,::::::::::,,,,,,,.....`....``````````....``..```                                                                           
                                                                           ,::::::::::,,,,,,.......````````````..``````...```                                                                           
                                                                          ,:::::::::,,,,,.........``````````..`.`````...``.``                                                                           
                                                                         ,::::::::,,,,,,.......`````````...``..``````..``..``                                                                           
                                                                        ,::::::::::,,,,....`..````````..```..````````.```````                                                                           
                                                                       ,::::::::::,,,,,....`.```.````...`..`````````````````                                                                            
                                                                      ,::::::::::,,,,...`..``.``.`........``````````````.```                                                                            
                                                                     ,::::,,::,,,,.......`.````..........`````````````.````                                                                             
                                                                    ,,,,,,,,,,,,..,..``.``.``...........```````````````````     ____                                                                    
                                                                   `,,,,,,,,,,,,,..,.``````.............```.``````````````                                                                              
                                                                  ..,,,,,,,,...........````................``````````````                                                                               
                                                                 ,,..,,,,,,,.....`....,......................`.``````````                                                                               
                                                                .,,..,,,,,,.......``............,............```````````                                                                                
                                                                ,,,,,,,.,,,...,..........,.....,...........`..`````````                                                                                 
                                                               `,,,,,,,,.,,.....,,......,.....,..............``````````                                                                                 
                                                               .,,,,,,,,,,.,,,,,,.,,...,.....,,............```````````                                                                                  
                                                               .,,,,.,,,,.,.,,..,......,....,,.............``````````                                                                                   
                                                               .,,,,.,,,,,.....,,,.........,,..............`````````                                                                                    
                                                               .,,...,,,,,,,,.....,:,......,................```````                                                                                     
                                                              `,,,....,,,,,,,,,..,.,,,.....,..............````````                                                                                      
                                                              .,,,....,,,,,,,,,,..,..,....,............`.`````````                                                                                      
                                                              ,,,,,...,,,,,,.,,.,,,,,,.........``.........````..`                                                                                       
                                                             `,,,,,,,,,,,,,,.......,,,....`   .,,,.......```.```                                                                                        
                                                             .,,,,,,,,,,:,,,,......,,,..`     ,,,,,.......`.`.`                                                                                         
                                                            `,,,,,,,,,:,,,,,.......,,,,.     `,,.......``.``.`                                                                                          
                                                            .,,,,,,,,:,,.,,,........,,,,`    ........````````                                                                                           
                                                           ..,,,,,,,,,,,,,,,,,.......,,,,.  .......`````````                                                                                            
                                                          `,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.......```.``.```                                                                                            
                                                          .,,,,,,,,,,,,...,.,:,,,.......,,,,,....``````.```                                                                                             
                                                         `,,,,,,,,,,,,,......,,,...........,,,,..`.`..`.``                                                                                              
                                                         ,,.,,,,,,,,,,......``..............,,,,...```````                                                                                              
                                                        .,,,,,,,,,,,,,.....`   `.............,,:,,`..`..`                                                                                               
                                                       .,,,,,,,,,,,,,,.....      `..............,,,,..``                                                                                                
                                                      ..,,,,,,,,,,,,,,,....         `.........,....,,..`                                                                                                
                                                     ,,,,,,,,,,,,,,::,,...`           ``.`......,.,,.,..                                                                                                
                                                    `,.,,,,,,,,,,,:::,,,,,              `.`..............`                                                                                              
                                                    ,,,,,,,,,,,,,,,,,::::,              ...`...,`.........`                                                                                             
                                                   .,,,,,,,.,,,..,,,,,:::,,             .`..`..`...........`                                                                                            
                                                  `,,.,,,,,,.......,,,,,,,,,`           `.``..``......`.....                                                                                            
                                                  ..,.,,,,,,,........,,,,,,,,.          `````.````.....``..``                                                                                           
                                                 ....,,,,,,.,..........,,,,,,,,`        ````.````````````````                                                                                           
                                                `.....,,,,,,,,,,.........,,,,,,.`         `````````   ``````                                                                                            
                                                ........,,,,,,,,...........,,,,,.`      ``   ````       ```                                                                                             
                                               `,..........,,,,,,,..........,,,,,.      `                                                                                                               
                                               ............,,,,,,,, ..`......,,,,,,`                                                                                                                    
                                              .,............,,,.,,.  ```......,,,,,,.`                                                                                                                  
                                             `,,...........,,,,,...`   `.......,,,,,,,,`                                                                                                                
                                             ,,,,...........,,,.....     `.......,,,,,,,,.                                                                                                              
                                            .,,..............,......       .........,,,,,,.`                                                                                                            
                                           `,.........``....,,......        `.........,,,,,.`                                                                                                           
                                           .....``````  ....,,......`         `.........,,,..                                                                                                           
                                          ....`.````    `...........`           `............`                                                                                                          
                                         ...```````      ....,,.....`              ``.....``.`                                                                                                          
                                        ...```````       `..,,,,,,..`               ````..````                                                                                                          
                                        ````````          ..,,,,,,,.`                 ````````                                                                                                          
                                          ```             `,,,,,.,,..                   ````                                                                                                            
                                                           ,,,,,,,,..`                                                                                                                                  
                                                           ...,,,,....                                                                                                                                  
                                                           `.,,,,.....                                                                                                                                  
                                                            .,,,......                                                                                                                                  
                                                            `,,.,.....`                                                                                                                                 
                                                             .,,......`                                                                                                                                 
                                                             .........`                                                                                                                                 
                                                             `.......``                                                                                                                                 
                                                              ......``                                                                                                                                  
                                                              ..`````                                                                                                                                   
                                                              ``````                                                                                                                                    
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                  `.+.                                  
                                                            .++++++++'.                                 
                                                           '+++++++++'+'                                
                                                          ''++++++++++'''                               
                                                         ''+++++++++++++''                              
                                                   ;    :''+++++++++++++'''                             
                                                 :+++'; ''+++++++++'''''''';                            
                                               :''+++++''++++++++'''+++''''',                           
                                              '++++++++'''+++++'''+++++++++';`                          
                                            ;'++++++++''+'+++''''++++++++'+'';'`                        
                                          `'''+++++++'''''''''''''+++++++++''''''                       
                                         :'+'''+++++''''+'+++++++'''++++++++''''''.                     
                                         ;'+++++++++''''+++++++''+''''++++'++'+'''''                    
                                         .'++++++++''''''++++'+++++++''+++''+'++'++''.                  
                                         :''++++++'++''''+++'++++++++'+++++'+'++'+++'''`                
                                         +++++++++''+''''++'''++++++++'''#+'+'+++++++''':               
                                         ++++++++'+'+''''+''++++###+++''''#'+'++++++++''';              
                                         +++++++++'++''''+'++'++''##++++''#+'''+++++++++''`             
                                         +++++++++'++'''++''++++#+++#++++'#+''''++##+++++++             
                                        `'+++++#++'++'''#'''+++###++##+++'##+'''#+##+++++++             
                                         ''''+++++'++'''#+'++++####+@@##+'##+'+'#+###++++++             
                                         ,''++++++''++''+++#+++#+##'##@#+'##+'+'+++##+++++'             
                                           ;++++++''+#''+++#++####'++###++##+'+'+#+##+++++,             
                                           `+++++#+'+#''##+##+++++++++#@'+@+'+'''####++++'              
                                            +''++##''#+'+#+'##++++++++#'++@+'+'''####++++'              
                                            `'+++###'+++'#+++'++++++++'''+++'+'''####+++':              
                                            '''++###+'#''##+'+++++++''++++#++''''###++++'               
                                           `'''++###@+'+''##+++++++'++++'#++'''''###++++                
                                           ,''''+###@#+++;###++++'+++++++#++''''+###+++`                
                                           `''''++##@##+++''##++++++++'+##++''''@###+++                 
                                            ''''++######+++++''''''''+###+#''''+###+++'                 
                                            ''+'++####+++++++++++++++#####+''''####+++                  
                                            .'+''+##@##''++#+++++########+''''##@+++++                  
                                             '+''++@@@##'+''''+#########''''######+++`                  
                                             `'+''+#@@###+'''''''''+++''''+######++##                   
                                              `+''+#@@@###+''''''''''''+#+######++++.+                  
                                                '''#@@######++++++'+#####+#####+++##                    
                                                #''''''+###############++++++##++++#:                   
                                               ###+''''''''''+++++++++++++#####+++#..                   
                                              .####+''''''''''++++++++++######+++++#                    
                                              :####@#+++''++'++++++++++######+++++#                     
                                              ;##########+++++++++++#########+++++                      
                                               #############################++++++                      
                                              `############################++++++                       
                                                #####@@###################+++++#:                       
                                                ######.#+#################+#++,                         
                                                 ####+@ :@###############+#+;                           
                                                 :###; `   :########@###++'                             
                                                   :#         #########++                               
                                                              :######++##                               
                                                               :'+++'                                   
                                                               ,+++'                                    
                                                               .'++'                                    
                                                               `'++'                                    
                                                                '++'                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                         :::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..........                                                                                                                                                 .:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.,..........`                                         
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,.,,,...........`                                          
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,.,............`                                          
                                                                                                        ::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,...........`                                           
                                                                                                       `::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.,,............                                            
                                                                                                       ,::::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,.............`                                            
                                                                                                       ,::,,:,,::,::::::,,,,,,,,,,,,,,,,,.,,,,.............                                             
                                                                                                       ,::::,,,::::::::,,,,,,,,,,,,,,,,,,.,,..............`                                             
                                                                                                       :::::::::,:::::,,,,,,,,,,,,,,,,,.,................`                                              
                                                                                                      `::::,:::::::::,,,,,,,,,,,,,,,,.,.,................`                                              
____                                                                                                  ,,,::::::::::::,,,,,,,,,,,,,,,,,..................`                                               
                                                                                                      .::,:::::::::::,,,,,,,,,,,,,,,,,..,..............`                                                
                                                                                                      ,:::,::::::::::,,,,,,,,,,,,,,,..,.,..............`                                                
                                                                                                      ,:,:::::::::::,,,,,,,,,,,,,,,,,,,................                                                 
                                                                                                      ,,::::::::::::,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     .:::::::::::::,,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     ,:::::::::::::,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                              `      ,::::::::::::,,,,,,,,,,,,,,,,,,.................                                                   
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,..................`                                                   
                                                                                               `     ,::::::::::::,,,,,,,,,,,,,,,,.,...............`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,,,...................`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,.,,,................`                                                     
                                                                                                    .::::::::::::::,,,,,,,,,,.,.,.................`                                                     
                                                                                                    ,::::::::::::,,,,,,,,,,,,,.,.................`                                                      
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,..................`                                                      
                                                                                                    ,:::::::::::,,,,,,,,,,,,,...................`                                                       
                                                                                    ____            ,::::::::::,,,,,,,,,,,,,,,,.................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,.,,,,,,.................`                                                       
                                                                                                    ,:::::::::,,,,,,,,,,,,,.,..................`                                                        
                                                                                                    ,:::::::::,,,,,,,,,,,,,...................``                                                        
                                                                                                   `,:::::::::,,,,,,,,,,,,....................`                                                         
                                                                                                   `,::::::::,,,,,,,,,,,,,....................`                                                         
                                                                                                   .,:::::::::,,,,,,,,,,,.,..................`                                                          
                                                                                                   .:::::::,,,,,,,,,,,,,,,,,................``                                                          
                                                                                                   ,,:::::::,,,,,,,,,,,,,...................`                                                           
                                                                                                   ,:::::::,,,,,,,,,,,,,....................`                                                           
                                                                                                   ,,::::,,,,,,,,,,,,,,,,,.................`                                                            
                                                                                                   ,,::,,,,,,,,,,,,,,,,,...................`                                                            
                                                                                                  `,,::,,,,,,,,,,,,,,...................`.`                                                             
                                                                                                  `,,,:,,,,,,,,,,,,,,,...................``                                                             
                                                                                                  `,,,,,,,,,,,,,,,,,,....................``                                                             
                                                                                                  .,,,,,,,,,,,,,,,,......................`                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................``                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................`                                                               
                                                                                                  .,,,,,,,,,,,,,,,.....................``                                                               
                                                                                                  ,,,,,,,,,,,,,,,,,....................``                                                               
                                                                                                  .,,,,,,,,,,,,,,......................`                                                                
                                                                                                  .,,,,,,,,,,,,,,,....................``                                                                
                                                                                                  .,,,,,,,,,,,,,,,...................``                                                                 
                                                                                                  ,,,,,,,,,,,,,,,,..................`.`                                                                 
                                                                                                  ,,,,,,,,,,,,,,,....................``                                                                 
                                                                                                  .,,,,,,,,,,,,,.................`...`                                                                  
                                                                                                  .,,,,,,,,,,,,,....................``                                                                  
                                                                                                  ,,,,,,,,,,,,,,..............`.....`                                                                   
                                                                                                  ,,,,,,,,,,,,,,,...................`                                                                   
                                                                                                  .,,,,,,,,,,,,,,.................```                                                                   
                                                                                                  .,,,,,,,,,,,,,...................`                                                                    
                                                                                                  .,,,,,,,,,,,,....................`                                                                    
                                                                                                  .,,,,,,,,,,,,...................`                                                                     
                                                                                                 `,,,,,,,,,,,,,..................``                                                                     
                                                                                                 `.,,,,,,,,,,,...................``                                                                     
                                                                                                  .,,,,,,,,,,,,..................`                                                                      
                                                                                                  .,,,,,,,,,,...................``                                                                      
                                                                                                  ..,,..,,,,,...................``                                                                      
                                                                                                  .,,,,,.,,,,...................`                                                                       
                                                                                                  `,,,,,,..,,..................``                                                                       
                                                                                                  .,,,,,,,,.,..................``                                                                       
                                                                                                  .,,,,,,,,,...................``                                                                       
                                                                                                 `,,:,,,,,,.,..................`                                                                        
                                                                                                 `.....,,,,...................``                                                                        
                                                                                                 ..,,...,,,,..................``                                                                        
                                                                                               ` .,,,...,,....,..............``                                                                         
                                                                                       `       `..,,,...,,....,...............`                                                                         
                                                                                                ,.,,,..,,..,.................``                                                                         
                                                                                               .,:,,,,,,,,..................```                                                                         
                                                                                               ,,::,,,,,,...................``                                                                          
                                                                                              .,::,,,,,,.,,.................``                                                                          
                                                                                              ,:,,::,,.,,,..................``                                                                          
                                                                                             ..,::,,,.,,,,.................```                                                                          
                                                                                             .,:::::,,,,,,,,.,............```                                                                           
                                                                                            `,,::::::,,,,,,,,,,............``                                                                           
                                                                                            .,:::::,:::,,,,,,,,,,,.........``                                                                           
                                                                                            ,,:::::::,,,::,,,,,,,,:,,.....```                                                                           
                                                                                           .,::::::::::,,:::,,,,,,,,,,,...```                                                                           
                                                                                          `,:::::::::::::,,::::,,,,,.....````                                                                           
                                                                                         `,::::::::::::::::,,,,,,,,......````                                                                           
                                                                                        `,::::::::::::::::::,,,,,.......`.```                                                                           
                                                                                       `,:::::;;;::::::,,,,,,,,,........````                                                                            
                                                                                      .,:::::;;;::::::::,,,,,,,........`````                                                                            
                                                                                     .,:::::;:::::::,,,,,,,...........``````                                                                            
                                                                                    ,:::::::::::::,,,,,,,,,...........``````                                                                            
                                                                                   ,::::::::::::,,,,,,,..............```````                                                                            
                                                                                 `,::::::::::,,,,,,,,........`......````````                                                                            
                                                                                .,:::::::::,,,,,,,,,,,.......`.`.```````````                                                                            
                                                                               .:::::::::,,,,,,,,,,,,...........````````````                                                                            
                                                                              ,::::::::::,,,,,,,.............````````......`                                                                            
                                                                             ,:::::::::,,,,,,,,,.........`.````````........``                                                                           
                                                                            ,::::::::::,,,,,,,.....`....``````````....``..```                                                                           
                                                                           ,::::::::::,,,,,,.......````````````..``````...```                                                                           
                                                                          ,:::::::::,,,,,.........``````````..`.`````...``.``                                                                           
                                                                         ,::::::::,,,,,,.......`````````...``..``````..``..``                                                                           
                                                                        ,::::::::::,,,,....`..````````..```..````````.```````                                                                           
                                                                       ,::::::::::,,,,,....`.```.````...`..`````````````````                                                                            
                                                                      ,::::::::::,,,,...`..``.``.`........``````````````.```                                                                            
                                                                     ,::::,,::,,,,.......`.````..........`````````````.````                                                                             
                                                                    ,,,,,,,,,,,,..,..``.``.``...........```````````````````                                                                             
                                                                   `,,,,,,,,,,,,,..,.``````.............```.``````````````                                                                              
                                                                  ..,,,,,,,,...........````................``````````````                                                                               
                                                                 ,,..,,,,,,,.....`....,......................`.``````````                                                                               
                                                                .,,..,,,,,,.......``............,............```````````                                                                                
                                                                ,,,,,,,.,,,...,..........,.....,...........`..`````````                                                                                 
                                                               `,,,,,,,,.,,.....,,......,.....,..............``````````                                                                                 
                                                               .,,,,,,,,,,.,,,,,,.,,...,.....,,............```````````                                                                                  
                                                               .,,,,.,,,,.,.,,..,......,....,,.............``````````                                                                                   
                                                               .,,,,.,,,,,.....,,,.........,,..............`````````                                                                                    
                                                               .,,...,,,,,,,,.....,:,......,................```````                                                                                     
                                                              `,,,....,,,,,,,,,..,.,,,.....,..............````````                                                                                      
                                                              .,,,....,,,,,,,,,,..,..,....,............`.`````````                                                                                      
                                                              ,,,,,...,,,,,,.,,.,,,,,,.........``.........````..`                                                                                       
                                                             `,,,,,,,,,,,,,,.......,,,....`   .,,,.......```.```                                                                                        
                                                             .,,,,,,,,,,:,,,,......,,,..`     ,,,,,.......`.`.`                                                                                         
                                                            `,,,,,,,,,:,,,,,.......,,,,.     `,,.......``.``.`                                                                                          
                                                            .,,,,,,,,:,,.,,,........,,,,`    ........````````                                                                                           
                                                           ..,,,,,,,,,,,,,,,,,.......,,,,.  .......`````````                                                                                            
                                                          `,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.......```.``.```                                                                                            
                                                          .,,,,,,,,,,,,...,.,:,,,.......,,,,,....``````.```                                                                                             
                                                         `,,,,,,,,,,,,,......,,,...........,,,,..`.`..`.``                                                                                              
                                                         ,,.,,,,,,,,,,......``..............,,,,...```````                                                                                              
                                                        .,,,,,,,,,,,,,.....`   `.............,,:,,`..`..`                                                                                               
                                                       .,,,,,,,,,,,,,,.....      `..............,,,,..``                                                                                                
                                                      ..,,,,,,,,,,,,,,,....         `.........,....,,..`                                                                                                
                                                     ,,,,,,,,,,,,,,::,,...`           ``.`......,.,,.,..                                                                                                
                                                    `,.,,,,,,,,,,,:::,,,,,              `.`..............`                                                                                              
                                                    ,,,,,,,,,,,,,,,,,::::,              ...`...,`.........`                                                                                             
                                                   .,,,,,,,.,,,..,,,,,:::,,             .`..`..`...........`                                                                                            
                                                  `,,.,,,,,,.......,,,,,,,,,`           `.``..``......`.....                                                                                            
                                                  ..,.,,,,,,,........,,,,,,,,.          `````.````.....``..``                                                                                           
                                                 ....,,,,,,.,..........,,,,,,,,`        ````.````````````````                                                                                           
                                                `.....,,,,,,,,,,.........,,,,,,.`         `````````   ``````                                                                                            
                                                ........,,,,,,,,...........,,,,,.`      ``   ````       ```                                                                                             
                                               `,..........,,,,,,,..........,,,,,.      `                                                                                                               
                                               ............,,,,,,,, ..`......,,,,,,`                                                                                                                    
                                              .,............,,,.,,.  ```......,,,,,,.`                                                                                                                  
                                             `,,...........,,,,,...`   `.......,,,,,,,,`                                                                                                                
                                             ,,,,...........,,,.....     `.......,,,,,,,,.                                                                                                              
                                            .,,..............,......       .........,,,,,,.`                                                                                                            
                                           `,.........``....,,......        `.........,,,,,.`                                                                                                           
                                           .....``````  ....,,......`         `.........,,,..                                                                                                           
                                          ....`.````    `...........`           `............`                                                                                                          
                                         ...```````      ....,,.....`              ``.....``.`                                                                                                          
____                                    ...```````       `..,,,,,,..`               ````..````                                                                                                          
                                        ````````          ..,,,,,,,.`                 ````````                                                                                                          
                                          ```             `,,,,,.,,..                   ````                                                                                                            
____                                                       ,,,,,,,,..`                                                                                                                                  
                                                           ...,,,,....                                                                                                                                  
                                                           `.,,,,.....                                                                                                                                  
                                                            .,,,......                                                                                                                                  
                                                            `,,.,.....`                                                                                                                                 
                                                             .,,......`                                                                                                                                 
                                                             .........`                                                                                                                                 
                                                             `.......``                                                                                                                                 
                                                              ......``                                                                                                                                  
                                                              ..`````                                                                                                                                   
                                                              ``````                                                                                                                                    
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                  `.+.                                  
                                                            .++++++++'.                                 
                                                           '+++++++++'+'                                
                                                          ''++++++++++'''                               
                                                         ''+++++++++++++''                              
                                                   ;    :''+++++++++++++'''                             
                                                 :+++'; ''+++++++++'''''''';                            
                                               :''+++++''++++++++'''+++''''',                           
                                              '++++++++'''+++++'''+++++++++';`                          
                                            ;'++++++++''+'+++''''++++++++'+'';'`                        
                                          `'''+++++++'''''''''''''+++++++++''''''                       
                                         :'+'''+++++''''+'+++++++'''++++++++''''''.                     
                                         ;'+++++++++''''+++++++''+''''++++'++'+'''''                    
                                         .'++++++++''''''++++'+++++++''+++''+'++'++''.                  
                                         :''++++++'++''''+++'++++++++'+++++'+'++'+++'''`                
                                         +++++++++''+''''++'''++++++++'''#+'+'+++++++''':               
                                         ++++++++'+'+''''+''++++###+++''''#'+'++++++++''';              
                                         +++++++++'++''''+'++'++''##++++''#+'''+++++++++''`             
                                         +++++++++'++'''++''++++#+++#++++'#+''''++##+++++++             
                                        `'+++++#++'++'''#'''+++###++##+++'##+'''#+##+++++++             
                                         ''''+++++'++'''#+'++++####+@@##+'##+'+'#+###++++++             
                                         ,''++++++''++''+++#+++#+##'##@#+'##+'+'+++##+++++'             
                                           ;++++++''+#''+++#++####'++###++##+'+'+#+##+++++,             
                                           `+++++#+'+#''##+##+++++++++#@'+@+'+'''####++++'              
                                            +''++##''#+'+#+'##++++++++#'++@+'+'''####++++'              
                            ____            `'+++###'+++'#+++'++++++++'''+++'+'''####+++':              
                                            '''++###+'#''##+'+++++++''++++#++''''###++++'               
                                           `'''++###@+'+''##+++++++'++++'#++'''''###++++                
                                           ,''''+###@#+++;###++++'+++++++#++''''+###+++`                
                                           `''''++##@##+++''##++++++++'+##++''''@###+++                 
                                            ''''++######+++++''''''''+###+#''''+###+++'                 
                                            ''+'++####+++++++++++++++#####+''''####+++                  
                                            .'+''+##@##''++#+++++########+''''##@+++++                  
                                             '+''++@@@##'+''''+#########''''######+++`                  
                                             `'+''+#@@###+'''''''''+++''''+######++##                   
                                              `+''+#@@@###+''''''''''''+#+######++++.+                  
                                                '''#@@######++++++'+#####+#####+++##                    
                                                #''''''+###############++++++##++++#:                   
                                               ###+''''''''''+++++++++++++#####+++#..                   
                                              .####+''''''''''++++++++++######+++++#                    
                                              :####@#+++''++'++++++++++######+++++#                     
                                              ;##########+++++++++++#########+++++                      
                                               #############################++++++                      
                                              `############################++++++                       
                                                #####@@###################+++++#:                       
                                                ######.#+#################+#++,                         
                                                 ####+@ :@###############+#+;                           
                                                 :###; `   :########@###++'                             
                                                   :#         #########++                               
                                                              :######++##                               
                                                               :'+++'                                   
                                                               ,+++'                                    
                                                               .'++'                                    
                                                               `'++'                                    
                                                                '++'                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                        ____                    '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
                                                                '+++                                    
____                                                                                                    
                                                                                                        
                                                                                                        
                                                                                                        
                                                                                                  .,,,,,,,,,,,,...................`                                                                     
                                                                            ____                 `,,,,,,,,,,,,,..................``                                                                     
                                                                                                 `.,,,,,,,,,,,...................``                                                                     
                                                                                                  .,,,,,,,,,,,,..................`              ____                                                    
                                                                                                  .,,,,,,,,,,...................``                                                                      
                                                                                                  ..,,..,,,,,...................``                                                                      
                                                                                                  .,,,,,.,,,,...................`                                                                       
                                                                                                  `,,,,,,..,,..................``                                                                       
                                                                                                  .,,,,,,,,.,..................``                                                                       
                                                                                                  .,,,,,,,,,...................``                                                                       
                                                                                                 `,,:,,,,,,.,..................`                                                                        
                                                                                                 `.....,,,,...................``                                                                        
                                                                                                 ..,,...,,,,..................``                                                                        
                                                                                               ` .,,,...,,....,..............``                                                                         
                                                                                       `       `..,,,...,,....,...............`                                                                         
                                                                                                ,.,,,..,,..,.................``                                                                         
                                                                                               .,:,,,,,,,,..................```                                                                         
                                                                                               ,,::,,,,,,...................``                                                                          
                                                                                              .,::,,,,,,.,,.................``                                                                          
                                                                                              ,:,,::,,.,,,..................``                                                                          
                                                                                             ..,::,,,.,,,,.................```                                                                          
                                                                                             .,:::::,,,,,,,,.,............```                                                                           
                                                                                            `,,::::::,,,,,,,,,,............``                                                                           
                                                                                            .,:::::,:::,,,,,,,,,,,.........``                                                                           
                                                                                            ,,:::::::,,,::,,,,,,,,:,,.....```                                                                           
                                                                                           .,::::::::::,,:::,,,,,,,,,,,...```                                                                           
                                                                                          `,:::::::::::::,,::::,,,,,.....````                                                                           
                                                                                         `,::::::::::::::::,,,,,,,,......````                                                                           
                                                                                        `,::::::::::::::::::,,,,,.......`.```                                                                           
                                                                                       `,:::::;;;::::::,,,,,,,,,........````                                                                            
                                                                                      .,:::::;;;::::::::,,,,,,,........`````                                                                            
                                                                                     .,:::::;:::::::,,,,,,,...........``````                                                                            
                                                                                    ,:::::::::::::,,,,,,,,,...........``````                                                                            
                                                                                   ,::::::::::::,,,,,,,..............```````                                                                            
                                                                                 `,::::::::::,,,,,,,,........`......````````                                                                            
                                                                                .,:::::::::,,,,,,,,,,,.......`.`.```````````                                                                            
                                                                               .:::::::::,,,,,,,,,,,,...........````````````                                                                            
                                                                              ,::::::::::,,,,,,,.............````````......`                                                                            
                                                                             ,:::::::::,,,,,,,,,.........`.````````........``                                                                           
                                                                            ,::::::::::,,,,,,,.....`....``````````....``..```                                                                           
                                                                           ,::::::::::,,,,,,.......````````````..``````...```                                                                           
                                                                          ,:::::::::,,,,,.........``````````..`.`````...``.``                                                                           
                                                                         ,::::::::,,,,,,.......`````````...``..``````..``..``                                                                           
                                                                        ,::::::::::,,,,....`..````````..```..````````.```````                                                                           
                                                                       ,::::::::::,,,,,....`.```.````...`..`````````````````                                                                            
                                                                      ,::::::::::,,,,...`..``.``.`........``````````````.```                                                                            
                                                                     ,::::,,::,,,,.......`.````..........`````````````.````                                                                             
                                                                    ,,,,,,,,,,,,..,..``.``.``...........```````````````````                                                                             
                                                                   `,,,,,,,,,,,,,..,.``````.............```.``````````````                                                                              
                                                                  ..,,,,,,,,...........````................``````````````                                                                               
                                                                 ,,..,,,,,,,.....`....,......................`.``````````                                                                               
                                                                .,,..,,,,,,.......``............,............```````````                                                                                
                                                                ,,,,,,,.,,,...,..........,.....,...........`..`````````                                                                                 
                                                               `,,,,,,,,.,,.....,,......,.....,..............``````````                                                                                 
                                                               .,,,,,,,,,,.,,,,,,.,,...,.....,,............```````````                                                                                  
                                                               .,,,,.,,,,.,.,,..,......,....,,.............``````````                                                                                   
                                                               .,,,,.,,,,,.....,,,.........,,..............`````````                                                                                    
                                                               .,,...,,,,,,,,.....,:,......,................```````                                                                                     
                                                              `,,,....,,,,,,,,,..,.,,,.....,..............````````                                                                                      
                                                              .,,,....,,,,,,,,,,..,..,....,............`.`````````                                                                                      
                                                              ,,,,,...,,,,,,.,,.,,,,,,.........``.........````..`                                                                                       
                                                             `,,,,,,,,,,,,,,.......,,,....`   .,,,.......```.```                                                                                        
                                                             .,,,,,,,,,,:,,,,......,,,..`     ,,,,,.......`.`.`                                                                                         
                                                            `,,,,,,,,,:,,,,,.......,,,,.     `,,.......``.``.`                                                                                          
                                                            .,,,,,,,,:,,.,,,........,,,,`    ........````````                                                                                           
                                                           ..,,,,,,,,,,,,,,,,,.......,,,,.  .......`````````                                                                                            
                                                          `,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.......```.``.```                                                                                            
                                                          .,,,,,,,,,,,,...,.,:,,,.......,,,,,....``````.```                                                                                             
                                                         `,,,,,,,,,,,,,......,,,...........,,,,..`.`..`.``                                                                                              
                                                         ,,.,,,,,,,,,,......``..............,,,,...```````                                                                                              
                                                        .,,,,,,,,,,,,,.....`   `.............,,:,,`..`..`                                                                                               
                                                       .,,,,,,,,,,,,,,.....      `..............,,,,..``                                                                                                
                                                      ..,,,,,,,,,,,,,,,....         `.........,....,,..`                                                                                                
                                                     ,,,,,,,,,,,,,,::,,...`           ``.`......,.,,.,..                                                                                                
                                                    `,.,,,,,,,,,,,:::,,,,,              `.`..............`                                                                                              
                                                    ,,,,,,,,,,,,,,,,,::::,              ...`...,`.........`                                                                                             
                                                   .,,,,,,,.,,,..,,,,,:::,,             .`..`..`...........`                                                                                            
                                                  `,,.,,,,,,.......,,,,,,,,,`           `.``..``......`.....                                                                                            
                                                  ..,.,,,,,,,........,,,,,,,,.          `````.````.....``..``                                                                                           
                                                 ....,,,,,,.,..........,,,,,,,,`        ````.````````````````                                                                                           
                                                `.....,,,,,,,,,,.........,,,,,,.`         `````````   ``````                                                                                            
                                                ........,,,,,,,,...........,,,,,.`      ``   ````       ```                                                                                             
                                               `,..........,,,,,,,..........,,,,,.      `                                                                                                               
                                               ............,,,,,,,, ..`......,,,,,,`                                                                                                                    
                                              .,............,,,.,,.  ```......,,,,,,.`                                                                                                                  
                                             `,,...........,,,,,...`   `.......,,,,,,,,`                                                                                                                
                                             ,,,,...........,,,.....     `.......,,,,,,,,.                                                                                                              
                                            .,,..............,......       .........,,,,,,.`                                                                                                            
                                           `,.........``....,,......        `.........,,,,,.`                                                                                                           
                                           .....``````  ....,,......`         `.........,,,..                                                                                                           
                                          ....`.````    `...........`           `............`                                                                                                          
                                         ...```````      ....,,.....`              ``.....``.`                                                                                                          
                                        ...```````       `..,,,,,,..`               ````..````                                                                                                          
                                        ````````          ..,,,,,,,.`                 ````````                                                                                                          
                                          ```             `,,,,,.,,..                   ````                                                                                                            
                                                           ,,,,,,,,..`                                                                                                                                  
                                                           ...,,,,....                                                                                                                                  
                                                           `.,,,,.....                                                                                                                                  
                                                            .,,,......                                                                                                                                  
                                                            `,,.,.....`                                                                                                                                 
                                                             .,,......`                                                                                                                                 
                                                             .........`                                                                                                                                 
                                                             `.......``                                                                                                                                 
                                                              ......``                                                                                                                                  
                                                              ..`````                                                                                                                                   
                                                              ``````                                                                                                                                    
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                             `.+.                                   
                                .++++++++'.                                 
                               '+++++++++'+'                                
                              ''++++++++++'''                               
                             ''+++++++++++++''                              
                       ;    :''+++++++++++++'''                             
                     :+++'; ''+++++++++'''''''';                            
                   :''+++++''++++++++'''+++''''',                           
                  '++++++++'''+++++'''+++++++++';`                          
                ;'++++++++''+'+++''''++++++++'+'';'`                        
              `'''+++++++'''''''''''''+++++++++''''''                       
             :'+'''+++++''''+'+++++++'''++++++++''''''.                     
             ;'+++++++++''''+++++++''+''''++++'++'+'''''                    
             .'++++++++''''''++++'+++++++''+++''+'++'++''.                  
             :''++++++'++''''+++'++++++++'+++++'+'++'+++'''`                
             +++++++++''+''''++'''++++++++'''#+'+'+++++++''':               
             ++++++++'+'+''''+''++++###+++''''#'+'++++++++''';              
             +++++++++'++''''+'++'++''##++++''#+'''+++++++++''`             
             +++++++++'++'''++''++++#+++#++++'#+''''++##+++++++             
            `'+++++#++'++'''#'''+++###++##+++'##+'''#+##+++++++             
             ''''+++++'++'''#+'++++####+@@##+'##+'+'#+###++++++             
             ,''++++++''++''+++#+++#+##'##@#+'##+'+'+++##+++++'             
               ;++++++''+#''+++#++####'++###++##+'+'+#+##+++++,             
               `+++++#+'+#''##+##+++++++++#@'+@+'+'''####++++'              
                +''++##''#+'+#+'##++++++++#'++@+'+'''####++++'              
                `'+++###'+++'#+++'++++++++'''+++'+'''####+++':              
                '''++###+'#''##+'+++++++''++++#++''''###++++'               
               `'''++###@+'+''##+++++++'++++'#++'''''###++++                
               ,''''+###@#+++;###++++'+++++++#++''''+###+++`                
               `''''++##@##+++''##++++++++'+##++''''@###+++                 
                ''''++######+++++''''''''+###+#''''+###+++'                 
                ''+'++####+++++++++++++++#####+''''####+++                  
                .'+''+##@##''++#+++++########+''''##@+++++                  
                 '+''++@@@##'+''''+#########''''######+++`                  
                 `'+''+#@@###+'''''''''+++''''+######++##                   
                  `+''+#@@@###+''''''''''''+#+######++++.+                  
                    '''#@@######++++++'+#####+#####+++##                    
                    #''''''+###############++++++##++++#:                   
                   ###+''''''''''+++++++++++++#####+++#..                   
                  .####+''''''''''++++++++++######+++++#                    
                  :####@#+++''++'++++++++++######+++++#                     
                  ;##########+++++++++++#########+++++                      
                   #############################++++++                      
                  `############################++++++                       
                    #####@@###################+++++#:                       
                    ######.#+#################+#++,                         
                     ####+@ :@###############+#+;                           
                     :###; `   :########@###++'                             
                       :#         #########++                               
                                  :######++##                               
                                   :'+++'                                   
                                   ,+++'                                    
                                   .'++'                                    
                        ____       `'++'                                    
                                    '++'                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                                                                          '',                                                                                                               
                                                                                            .:                '', ''`                                                                                           
                                                                                           ;:             '', '',.''                                                                                            
                                                                                          .;,:        .:.'', '';:;'+`.                                                                                          
                                                                                           ';,,       '', '';++':;;'`;;;``                                                                                      
                                                                                      :'  .;;,,. :''' ``+'+ :;`'', '':;;''                                                                                      
                                                                                 `    +;; ,;::,.;'''` ``++,  :  '', ;'':`                                                                                       
                                                                                ':   +'';.':,:''+';  ''``.'.':,':;;;:;,`                                                                                        
                                                                                ';;  #;;+ '::;'';',```.,,;#   '+ ''';;;;;                                                                                   
                                                                                +;:; ;';' +:;;:;+++'.``...  ,  ,  '',;',':`                                                                                 
                                                                               `';:; ;';; ,;;;;;+++:.,```.`:       `;` '';;                                                                                 
                                                                                :;::.'';;;;;;;:,`.  `,;.            `   '',;                                                                                
                                                                                :;::.;;;: :;;;;;;;';',`    `.            ''`:                           ____                                                
                                                                                .:;::,';;:,:'+:;:;;;;:`   ``..    '':                                                                                       
                                                                             `:;';'::;;,;:::;;;''+'++;';` ``.,,  +'   '',                                                                                   
                                                                          `;;;;';``.;;;::::;,:'':;'':';..`.,:,::'''` '';+                                                                                   
                                                                       `;;;;,;;;';;;:'':;#;':::+'';:++,,...,,,::,''`,+'`          ''                                                                        
                                                                     .;;;;;;:::::`.';';;:;;';,:::::;`;+; .,,,,,,.''`++', ''.,`       ``.                                                                    
                                                                   ;;:;:,.,,`     ;;;;;;:;'''::`  ,,,:,   ....`..++ ++'.;++.      '',,,,;                                                                   
                                                                 :::+`           `;;;.;;;:`:;',,   : ,,.``....``,+' +++ +++`      '',,,:;                                                                   
                                                               ,::+.              ;;:  :':   :;.   `:.,,......`..,:+++`:+++;    ''.;..,;.                                                                   
                                                              :,;.                .;`   .:    ..   ::;,;:....,.`.,,.,+.++++.   ''.,,..,,,                                                                   
                                                            `::,                         `         `,`.:`.,,:````.,.,,:'++:   '':,,:.,,.:::                                                                 
                                                           ::;                                    ,,   `:.,.`.```.,+;;'`''    ''.,,:,,,,,:;                                                                 
                                                          ::;                                     `      .,` '',...,.+;;;:;+++..':::,,,,,:.                                                                 
                                                        `:;.                                         `,  ''`,,`,,,,,:'';;+'+#++`'#,,,,,,,:                                                                  
                                                       ,:;                                           `..  `:.::,,  ''++;;++,+#+';,,,,,,,                                                                    
                                                      ::,                                            `,,.   `  .,   ''+;:++;+++:;.,,,,,                                                                     
                                                    .:;`                                            `..,. ; ;       ,',`'' '++ '';,,,,`                                                                     
                                                   .,;                                              `,.,  '`         ;. +:  `: '';;    `                                                                    
                                                  :::                                               ``' `.::            '`   '':;;;,,::`                                                                    
                                                 :;.                                                   .`..`:     `     '   '',,:;;.,  .                                                                    
                                               `,;`                                                   .`.... ..  ``         , '',,,:,   ,` `                                                                
                                             .,;`                                                  `.,,,```   `,,.::,     '':::;.`':  ';,,,.                                                                
                                            ,:;                                                    `.,, `.     `,,.,:`   '',,,:.,,;;''';:,::                                                        ____    
                                           ,;;                                                    `.,` `..`   ':,,,,,:  ''::,,:,,,': '';:,,.                                                                
                                         `::'                                                     `,`` `.```  ;,,.::::  '':;,,,.,;' :'::::,:                                                                
                                         ;,,;                                                       ````.. `  +,,,`,;:`.;;:,.,, '''  .;:,:,:                                                                
                                        ;`;;                                                        `..``.`  ``:::``  ''`.;::..,,:;. ;:::,::                                                                
                                       `:;:                                                         ```   `  ,.`,,,, ....,...., '';`.:,;::                                                                  
                                       `;`                                                         ````    `.,,,.,.. ''``,.,:..,,:'  :,:                                                                    
                                       .`                                                           ```   :;.,,,,..`   ,.,:,  ` '':, :,:                                                                    
                                                                                                     ..,,,`,..,,..``   :.,:`  . '', ..,..                                                                   
                                                                                                      ```:`, ,,,,..    `,.` ` : '',: :.,:                                                                   
                                                                                                          .: .:,,`.     ..  ':; '',';.';:,,,                                                                
                                                                                                   ,    , :`,,,,,`     ,''``..,:,;'',:;:,::`                                                            
                                                                                                 :;:,   ::,...`      '',.,...:;:'::::::;;:                                                              
                                                                                                 ,'`    :,`..```,.   ''`,,.`.,;;;;':::::';                                                              
                                                                                                .`,    ,: .....`::    '',,.`.,;::::,::;;                                                                
                                                                                             ```, ,    ,:`,.:..,::    `., ''.,':::::::.                                                                 
                                                                                            ..``  .`   :..,,,,,,.     ` ''.``:':::::::                                                                  
                                                                                                  ., `,,,`,,,,,,.       '',`,;;,:`:`,.                                                                  
                                                                                                 `,.:,`::,,,,,,,,`     ''`.,,.:,: .;;:                                                                  
                                                                                                 ` .,` ;`,::,::,,      ''..,,,:,: .;',                                                                  
                                                                                            .,.,;......;   `::,,`     ''`...,,,: `;':,,,                                                                
                                                                                            ,.,::.:,..,;` `  .        ''..,.,,,,,::::,,,                                                                
                                                                                           `,:.. .,,.,,;+;,           '',;..,,,,,:: ::::                                                                
                                                                                           `,`,  `,:.,,:;,;:        ''``,;,..,,,.:` ::.,                                                                
                                                                                             ,.   .,,., ;,;,`       ''..,::.`;:  ,   :                                                                  
                                                                                             ,,     ..' ..;,.      ''`..,,:,`::  .                                                                      
                                                                                             ,.     :.,`.,,,`.    ''`.,.,,.,':,                                                                         
                                                                                             ` .   :  ,.`.,..,    `.`,`,,, ''.,;` `                                                                     
                                                                                             ` .,;:. .:. .,..,       '':,,,,`.;:'':                                                                     
                                                                                            `` .;;::. : .....`        ''::;,,,,;+'::.                                                                   
                                                                                           `,.`::;', `: ` .,`         '',,:..:.,'::,,                                                                   
                                                                                             `.,,,:: .:;  ..:.         ''`,....:::,.:                                                                   
                                                                                             `.` ``,,,:'; ,,:;.         '':,:.:;::,,:                                                                   
                                                ____________                                      `,:;;;`,::;''      `   ''`;.:'.,,,,                                                                   
                                                                                                   ,:::;:::::,;  .:```  ` '';,,:,,,;                                                                    
                                                                                                 ` ..:,,.::::::`,;;,::. ''+,,,:,:,:                                                                     
                                                                                               `:``,,::,.,;:;:`.,:::. .'' '',,:,;,,                                                                     
                                                                                                .,,,,.`,::,;;.`.,,.. ''`:,';,,:,.,,                                                                     
                                                                                                `:.````.,   `.```.,  ''...::,,:,,,:,                                                                    
                                                                                                .:.,...`    ,,..`.  ''...,,::.:,,::;                                                                    
                                                                                               `,;,:,,,,   `. ,`    '',,.,,.:`;::;:'                                                                    
                                                                                               :::,,:.`..;'', .     `` ''``,':;''':.                                                                    
                                                                                             ` .,',`.,      . `.     ...,,;:  '';':,.                                                                   
                                                                                              `,`   `:      ` ``      ''.,,.::   ,:,`                                                                   
                                                                                              .,.;. :,        ``      '',,,,:,.:  ;,                                                                    
                                                                                             ` ,'':.::        ``      '',,,;::;'; ::`                                                                   
                                                                                              ;'; ,::        `.      '',,.,,:'',  ,                                                                     
                                                                                             ``;;.,,:, `             ''`,,.::';:;                                                                       
                                                                                            .`,.,.,..;;: .         ` '':,,::;;''::,                                                                     
                                                                                             ,,,`,:.,,:;;.         `,'  ''.;;':;`,,.                                                                    
                                                                                             :,.,::.,,,;,`        .``,: '',;;;:,.,,,                                                                    
                                                                                            ..,:  ,: .:::.,      ''`,...;',::;',,,,.                                                                    
                                                                                            :,;:,`,; ,,:,;:       ,,,.;+': '';:: :,                                                                     
                                                                                            ::,::,.'`.,,,:;       ''`,..:'''`,:;:                                                                       
                                                                                          `.,,::: :`..,:,..         '',,;'':::''`                                                                       
                                                                                          .,.`,.. :., ::,.      .``` '';;';::'+:                                                                        
                                                                                         ..,..`.,,:,,          .,` '',:`,,,:,;+                                                                         
                                                                                         `.,,`,,.`;: ; `      `.,``.  '',,,:,,                                                                          
                                                                                          .`,`:..`:,`''`    `.`.,.,. `,,:,,. ''.                                                                        
                                                                                          ,`,..,,```:''`     ..``.`'. ''.,,..:;```                                                                      
                                                                                         `.`.``.`,` :,:,`    `````:. ` ''.,,,;;`...                                                                     
                                                                                          ,,:.``.;; .::,,   ''````.,::;'.`:.,,::,,,                                                                     
                                                                                          ,::::;,:+.:,,,,   ....,,:;:, '',:,,,,,::,                                                                     
                                                                                          ,::,..;`.::;,,    ''`...,,,.:::`,,,,,,..,`                                                                    
                                                                                          ``.`.,.`:;,'.       ''...,`,..,.`,,,,,....                                                                    
                                                                                           . ,....:;;;;         ''```.`.;:,,,,,.,,,:                                                                    
                                                                                           :.,..`.::;;:         ''.`;,,:,`;,,,,,,,,:.                                                                   
                                                                                           `,,.`. ;..::        ```:;``.,:';. '',,:,:,                                                                   
                                                                                          ..``.,,',..;:       ```.. .'::;;:. '',,,,,,                                                                   
                                                                                          ...`` ';.;:;;.     `.., '',`::::,:::,,,,,,                                                                    
                                                                                          ,....;:':';;',         ''.,`,:;;,:;;,,,,,`                                                                    
                                                                                           ,,.,:.::;:,,,`        ,, '':,:;::::::,                                                                       
                                                                                           ,;:,,`,:,,,:,,        ,, '':,,;,,:';,,.                                                                      
                                                                                            .:;;,.+ `::,.        ,   ''`:;,::'::,`                                                                      
                                                                                            ;;,..;+.`:,:         :` `, '':,;:;:::                                                                       
                                                                                             :;,:;';,::         .:,,   ''::;::::                                                                        
                                                                                             ;, :;;:,,:.      ```;:.  ''`;:::,.  .                                                                      
                                                                                            :;` ';;,,.,:     ``...,. ,,', '',;;. ,,                                                                     
                                                                                           ,:; ,';:::.,,     `  '',,.```:;::,;;,,,,`                                                                    
                                                                                            ` ,, ',,:.,         .,,   '':,,,,,:,,,,                                                                     
                                                                                              ;: ;;..`         `.,,   '':..,,,,,.,                                                                      
                                                                                            `;::,,:            `,,. ''`.::,:,:,:,                                                                       
                                                                                           `,:;;;,:             ` ''`.,,;.:;::,,.                                                                       
                                                                                           ` . ::..              '',,.,,:.,,,:, .                                                                       
                                                                                              :::.              '',`,.,:,,,,,                                                                           
                                                                                             ,:,`'               '',,,:....,:,                                                                          
                                                                                            `` ,,                ''.,:......:,                                                                          
                                                                                              :,:               ''`,,,,.`...,,`                                                                         
                                                                                             .,;`              ''`,,:,,,...,,,.                                                                         
                                                                                              ,.`             ''`.`..:;;,....,                                                                          
                                                                                              ,,`            ''```..`.;:;,`.``                                                                          
                                                                                               `            .. `.., '';;,:.``                                                                           
                                                                                                             . ''`.,.,',,,,,:                                                                           
                                                                                                             '',``,..,;::::,.                                                                           
                                                                                                              '',``...;::',..                                                                           
                                                                                                               ''``.:,:;.;;,:                                                                           
                                                                                                               '',`,::.:`:;::`                                                                          
                                                                                                             ``::,., ''``;:':                                                                           
                                                                                                            ``::,    ''..;:::                                                                           
                                                                                                            `.,:     ''.,`;:                                                                            
                                                                                                            ..,.   ''`....                                                                              
                                                                                                            ,`:::,` ''````'`,                                                                           
                                                                                                           :...:`   ` ''.,,;:                                                                           
                                                                                                           :..,,    ,  ''`,:.,                                                                          
                                                                                                           ;,,,,    .  '',`,,,,                                                                         
                                                                                                           ;;,,.  .;. ''.,`,.::                                                                         
                                    ____                                                                   .,`.:;::`, '',...::.                                                                         
                                                                                                           ,.,.;'' ,,,   ''.,:                                                                          
                                                                                                           `,..,''..  .  '';                                                                            
                                                                                                           ``..::...` '','.:                                                                            
                                                                                                           ''``..::,:.,`,,:.                                                                            
                                                                                                           ,`.,::,,,,,., ''.                                                                            
                                                                                                          ''::,``.::.,`.::`,`                                                                           
                                                                                                          :::,`   ;:` ` ''`::;                                                                          
                                                                                                          :,,. . ' :., ''`,.:,                                                                          
                                                                                                          `,,. :', ;.   ''...,                                                                          
                                                                                                           ,.  ,;;;: :   ''..,                                                                          
                                                                                                             ,.,,: :  ,` '',,                                                                           
                                                                                                             ;:,::.:. '',:`:                                                                            
                                                                                                             '',:;.:.;``'``.,.                                                                          
                                                                                                            ''..;;.:.;,:.`.:,,                                                                          
                                                                                                            .,``  '',;`,,..::`                                                                          
                                                                                                            ,,`  . ; ''.:::::                                                                           
                                                                                                            ,,` ''.`.:`'::,..                                                                           
                                                                                                             .  . '':::,.;;.                                                                            
                                                                                                                 '':,:;`.```                                                                            
                                                                                                                `, '':,:..`                                                                             
                                                                                                             ` :: ''`.,,:,                                                                              
                                                                                                             ''```:..,,.,`                                                                              
                                                                                                            ``` ''.,::.,,,                                                                              
                                                                                                            `..`..: '',:::                                                                              
                                                                                                            ''`.,,,,.`.;::.                                                                             
                                                                                                             ''`.:,:,:.:;;:                                                                             
                                                                                                              ''+:,:.,.;;'`                                                                             
                                                                                                             ''`,:;,.,,+':                                                                              
                                                                                                           ''`,,`,:::';;.                                                                               
                                                                                                           ''::..,,;.:;``                                                                               
                                                                                                           ::::,::.;. '',                                                                               
                                                                                                            ,,:,,;,' ''.`                                                                               
                                                                                                             '',:,;.:,`::                                                                               
                                                                                                             ''```',:':::                                                                               
                                                                                                             ''``..'.:;::,,                                                                             
                                                                                                             ''``,.,.:,:,,;                                                                             
                                                                                                             ''`.,,,,`:;;;,                                                                             
                                                                                                              '',,,,,`:':.                                                                              
                                                                                                              ''.,.```::`                                                                               
                                                                                                               '',.``.,.                                                                                
                                                                                                                '',:,,,::                                                                               
                                                                                                                '':,`,:.                                                                                
                                                                                                                ''.`,,,                                                                                 
                                                                                                                '':,,.                                                                                  
                                                                                                               '',;`.'`                                                                                 
                                                                                                               , ''`;`,                                                                                 
                                                                                                                 ''.:.                                                                                  
                                                                                                                '',:.:                                                                                  
                                                                                                               `,,: ''`                                                                                 
                                                                                                                ''.,,                                                                                   
                                                                                                               ''`,,                                                                                
                                                                                                                ''`,:                                                                                   
                                                                                                                 '',                        ____                                                        
                                                                                                                             ''                                                                         
                                                                                                                             ''                                                                         
                                                                                                                                                                                                        
                                                                                                         :::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..........                                                                                                                                                 .:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.,..........`                                         
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,.,,,...........`                                          
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,.,............`                                          
                                                                                                        ::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,...........`                                           
                                                                                                       `::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.,,............                                            
                                                                                                       ,::::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,.............`                                            
                                                                                                       ,::,,:,,::,::::::,,,,,,,,,,,,,,,,,.,,,,.............                                             
                                                                                                       ,::::,,,::::::::,,,,,,,,,,,,,,,,,,.,,..............`                                             
                                                                                                       :::::::::,:::::,,,,,,,,,,,,,,,,,.,................`                                              
                                                                                                      `::::,:::::::::,,,,,,,,,,,,,,,,.,.,................`                                              
                                                                                                      ,,,::::::::::::,,,,,,,,,,,,,,,,,..................`                                               
                                                                                                      .::,:::::::::::,,,,,,,,,,,,,,,,,..,..............`                                                
                                                                                                      ,:::,::::::::::,,,,,,,,,,,,,,,..,.,..............`                                                
                                                                                                      ,:,:::::::::::,,,,,,,,,,,,,,,,,,,................                                                 
                                                                                                      ,,::::::::::::,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     .:::::::::::::,,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     ,:::::::::::::,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                              `      ,::::::::::::,,,,,,,,,,,,,,,,,,.................                                                   
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,..................`                                                   
                                                                                               `     ,::::::::::::,,,,,,,,,,,,,,,,.,...............`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,,,...................`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,.,,,................`                                                     
                                                                                                    .::::::::::::::,,,,,,,,,,.,.,.................`                                                     
                                                                                                    ,::::::::::::,,,,,,,,,,,,,.,.................`                                                      
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,..................`                                                      
                                                                                                    ,:::::::::::,,,,,,,,,,,,,...................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,.................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,.,,,,,,.................`                                                       
                                                                                                    ,:::::::::,,,,,,,,,,,,,.,..................`                                                        
                                                                                                    ,:::::::::,,,,,,,,,,,,,...................``                                                        
                                                                                                   `,:::::::::,,,,,,,,,,,,....................`                                                         
                                                                                                   `,::::::::,,,,,,,,,,,,,....................`                                                         
                                                                                                   .,:::::::::,,,,,,,,,,,.,..................`                                                          
                                                                                                   .:::::::,,,,,,,,,,,,,,,,,................``                                                          
                                                                                                   ,,:::::::,,,,,,,,,,,,,...................`                                                           
                                                                                                   ,:::::::,,,,,,,,,,,,,....................`                                                           
                                                                                                   ,,::::,,,,,,,,,,,,,,,,,.................`                                                            
                                                                                                   ,,::,,,,,,,,,,,,,,,,,...................`                                                            
                                                                                                  `,,::,,,,,,,,,,,,,,...................`.`                                                             
                                                                                                  `,,,:,,,,,,,,,,,,,,,...................``                                                             
                                                                                                  `,,,,,,,,,,,,,,,,,,....................``                                                             
                                                                                                  .,,,,,,,,,,,,,,,,......................`                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................``                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................`                                                               
                                                                                                  .,,,,,,,,,,,,,,,.....................``                                                               
                                                                                                  ,,,,,,,,,,,,,,,,,....................``                                                               
                                                                                                  .,,,,,,,,,,,,,,......................`                                                                
                                                                                                  .,,,,,,,,,,,,,,,....................``                                                                
                                                                                                  .,,,,,,,,,,,,,,,...................``                                                                 
                                                                                                  ,,,,,,,,,,,,,,,,..................`.`                                                                 
                                                                                                  ,,,,,,,,,,,,,,,....................``                                                                 
                                                                                                  .,,,,,,,,,,,,,.................`...`                                                                  
                                                                                                  .,,,,,,,,,,,,,....................``                                                                  
                                                                                                  ,,,,,,,,,,,,,,..............`.....`                                                                   
                                                                                                  ,,,,,,,,,,,,,,,...................`                                                                   
                                                                                                  .,,,,,,,,,,,,,,.................```                                                                   
                                                                                                  .,,,,,,,,,,,,,...................`                                                                    
                                                                                                  .,,,,,,,,,,,,....................`                                                                    
                                                                                                  .,,,,,,,,,,,,...................`                                                                     
                                                                                                 `,,,,,,,,,,,,,..................``                                                                     
                                                                                                 `.,,,,,,,,,,,...................``                                                                     
                                                                                                  .,,,,,,,,,,,,..................`                                                                      
                                                                                                  .,,,,,,,,,,...................``                                                                      
                                                                                                  ..,,..,,,,,...................``                                                                      
                                                                                                  .,,,,,.,,,,...................`                                                                       
                                                                                                  `,,,,,,..,,..................``                                                                       
                                                                                                  .,,,,,,,,.,..................``                                                                       
                                                                                                  .,,,,,,,,,...................``                                                                       
                                                                                                 `,,:,,,,,,.,..................`                                                                        
                                                                                                 `.....,,,,...................``                                                                        
                                                                                                 ..,,...,,,,..................``                                                                        
                                                                                               ` .,,,...,,....,..............``                                                                         
                                                                                       `       `..,,,...,,....,...............`                                                                         
                                                                                                ,.,,,..,,..,.................``                                                                         
                                                                                               .,:,,,,,,,,..................```                                                                         
                                                                                               ,,::,,,,,,...................``                                                                          
                                                                                              .,::,,,,,,.,,.................``                                                                          
                                                                                              ,:,,::,,.,,,..................``                                                                          
                                                                                             ..,::,,,.,,,,.................```                                                                          
                                                                                             .,:::::,,,,,,,,.,............```                                                                           
                                                                                            `,,::::::,,,,,,,,,,............``                                                                           
                                                                                            .,:::::,:::,,,,,,,,,,,.........``                                                                           
                                                                                            ,,:::::::,,,::,,,,,,,,:,,.....```                                                                           
                                                                                           .,::::::::::,,:::,,,,,,,,,,,...```                                                                           
                                                                                          `,:::::::::::::,,::::,,,,,.....````                                                                           
                                                                                         `,::::::::::::::::,,,,,,,,......````                                                                           
                                                                                        `,::::::::::::::::::,,,,,.......`.```                                                                           
                                                                                       `,:::::;;;::::::,,,,,,,,,........````                                                                            
                                                                                      .,:::::;;;::::::::,,,,,,,........`````                                                                            
                                                                                     .,:::::;:::::::,,,,,,,...........``````                                                                            
                                                                                    ,:::::::::::::,,,,,,,,,...........``````                                                                            
                                                                                   ,::::::::::::,,,,,,,..............```````                                                                            
                                                                                 `,::::::::::,,,,,,,,........`......````````                                                                            
                                                                                .,:::::::::,,,,,,,,,,,.......`.`.```````````                                                                            
                                                                               .:::::::::,,,,,,,,,,,,...........````````````                                                                            
                                                                              ,::::::::::,,,,,,,.............````````......`                                                                            
                                                                             ,:::::::::,,,,,,,,,.........`.````````........``                                                                           
                                                                            ,::::::::::,,,,,,,.....`....``````````....``..```                                                                           
                                                                           ,::::::::::,,,,,,.......````````````..``````...```                                                                           
                                                                          ,:::::::::,,,,,.........``````````..`.`````...``.``                                                                           
                                                                         ,::::::::,,,,,,.......`````````...``..``````..``..``                                                                           
                                                                        ,::::::::::,,,,....`..````````..```..````````.```````                                                                           
                                                                       ,::::::::::,,,,,....`.```.````...`..`````````````````                                                                            
                                                                      ,::::::::::,,,,...`..``.``.`........``````````````.```                                                                            
                                                                     ,::::,,::,,,,.......`.````..........`````````````.````                                                                             
                                                                    ,,,,,,,,,,,,..,..``.``.``...........```````````````````                                                                             
                                                                   `,,,,,,,,,,,,,..,.``````.............```.``````````````                                                                              
                                                                  ..,,,,,,,,...........````................``````````````                                                                               
                                                                 ,,..,,,,,,,.....`....,......................`.``````````                                                                               
                                                                .,,..,,,,,,.......``............,............```````````                                                                                
                                                                ,,,,,,,.,,,...,..........,.....,...........`..`````````                                                                                 
                                                               `,,,,,,,,.,,.....,,......,.....,..............``````````                                                                                 
                                                               .,,,,,,,,,,.,,,,,,.,,...,.....,,............```````````                                                                                  
                                                               .,,,,.,,,,.,.,,..,......,....,,.............``````````                                                                                   
                                                               .,,,,.,,,,,.....,,,.........,,..............`````````                                                                                    
                                                               .,,...,,,,,,,,.....,:,......,................```````                                                                                     
                                                              `,,,....,,,,,,,,,..,.,,,.....,..............````````                                                                                      
                                                              .,,,....,,,,,,,,,,..,..,....,............`.`````````                                                                                      
                                                              ,,,,,...,,,,,,.,,.,,,,,,.........``.........````..`                                                                                       
____                                                         `,,,,,,,,,,,,,,.......,,,....`   .,,,.......```.```                                                                                        
                                                             .,,,,,,,,,,:,,,,......,,,..`     ,,,,,.......`.`.`                                                                                         
                                                            `,,,,,,,,,:,,,,,.......,,,,.     `,,.......``.``.`                                                                                          
                                                            .,,,,,,,,:,,.,,,........,,,,`    ........````````                                                                                           
                                                           ..,,,,,,,,,,,,,,,,,.......,,,,.  .......`````````                                                                                            
                                                          `,,,,,,,,,,,,,,,,,,,,,,.....,,,,,.......```.``.```                                                                                            
                                                          .,,,,,,,,,,,,...,.,:,,,.......,,,,,....``````.```                                                                                             
                                                         `,,,,,,,,,,,,,......,,,...........,,,,..`.`..`.``                                                                                              
                                                         ,,.,,,,,,,,,,......``..............,,,,...```````                                                                                              
                                                        .,,,,,,,,,,,,,.....`   `.............,,:,,`..`..`                                                                                               
                                                       .,,,,,,,,,,,,,,.....      `..............,,,,..``                                                                                                
                                                      ..,,,,,,,,,,,,,,,....         `.........,....,,..`                                                                                                
                                                     ,,,,,,,,,,,,,,::,,...`           ``.`......,.,,.,..                                                                                                
                                                    `,.,,,,,,,,,,,:::,,,,,              `.`..............`                                                                                              
                                                    ,,,,,,,,,,,,,,,,,::::,              ...`...,`.........`                                                                                             
                                                   .,,,,,,,.,,,..,,,,,:::,,             .`..`..`...........`                                                                                            
                                                  `,,.,,,,,,.......,,,,,,,,,`           `.``..``......`.....                                                                                            
                                                  ..,.,,,,,,,........,,,,,,,,.          `````.````.....``..``                                                                                           
                                                 ....,,,,,,.,..........,,,,,,,,`        ````.````````````````                                                                                           
                                                `.....,,,,,,,,,,.........,,,,,,.`         `````````   ``````                                                                                            
                                                ........,,,,,,,,...........,,,,,.`      ``   ````       ```                                                                                             
                                               `,..........,,,,,,,..........,,,,,.      `                                                                                                               
                                               ............,,,,,,,, ..`......,,,,,,`                                                                                                                    
                                              .,............,,,.,,.  ```......,,,,,,.`                                                                                                                  
                                             `,,...........,,,,,...`   `.......,,,,,,,,`                                                                                                                
                                             ,,,,...........,,,.....     `.......,,,,,,,,.                                                                                                              
                                            .,,..............,......       .........,,,,,,.`                                                                                                            
                                           `,.........``....,,......        `.........,,,,,.`                                                                                                           
                                           .....``````  ....,,......`         `.........,,,..                                                                                                           
                                          ....`.````    `...........`           `............`                                                                                                          
                                         ...```````      ....,,.....`              ``.....``.`                                                                                                          
                                        ...```````       `..,,,,,,..`               ````..````                                                                                                          
                                        ````````          ..,,,,,,,.`                 ````````                                                                                                          
                                          ```             `,,,,,.,,..                   ````                                                                                                            
                                                           ,,,,,,,,..`                                                                                                                                  
                                                           ...,,,,....                                                                                                                                  
                                                           `.,,,,.....                                                                                                                                  
                                                            .,,,......                                                                                                                                  
                                                            `,,.,.....`                                                                                                                                 
                                                             .,,......`                                                                                                                                 
                                                             .........`                                                                                                                                 
                                                             `.......``                                                                                                                                 
                                                              ......``                                                                                                                                  
                                                              ..`````                                                                                                                                   
                                                              ``````                                                                                                                                    
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                                                                                                                                                                                                        
                             `.+.                                   
                                .++++++++'.                                 
                               '+++++++++'+'                                
                              ''++++++++++'''                               
                             ''+++++++++++++''                              
                       ;    :''+++++++++++++'''                             
                     :+++'; ''+++++++++'''''''';                            
                   :''+++++''++++++++'''+++''''',                           
                  '++++++++'''+++++'''+++++++++';`                          
                ;'++++++++''+'+++''''++++++++'+'';'`                        
              `'''+++++++'''''''''''''+++++++++''''''                       
             :'+'''+++++''''+'+++++++'''++++++++''''''.                     
             ;'+++++++++''''+++++++''+''''++++'++'+'''''                    
             .'++++++++''''''++++'+++++++''+++''+'++'++''.                  
             :''++++++'++''''+++'++++++++'+++++'+'++'+++'''`                
             +++++++++''+''''++'''++++++++'''#+'+'+++++++''':               
             ++++++++'+'+''''+''++++###+++''''#'+'++++++++''';              
             +++++++++'++''''+'++'++''##++++''#+'''+++++++++''`             
             +++++++++'++'''++''++++#+++#++++'#+''''++##+++++++             
            `'+++++#++'++'''#'''+++###++##+++'##+'''#+##+++++++             
             ''''+++++'++'''#+'++++####+@@##+'##+'+'#+###++++++             
             ,''++++++''++''+++#+++#+##'##@#+'##+'+'+++##+++++'             
               ;++++++''+#''+++#++####'++###++##+'+'+#+##+++++,             
               `+++++#+'+#''##+##+++++++++#@'+@+'+'''####++++'              
                +''++##''#+'+#+'##++++++++#'++@+'+'''####++++'              
                `'+++###'+++'#+++'++++++++'''+++'+'''####+++':              
                '''++###+'#''##+'+++++++''++++#++''''###++++'               
               `'''++###@+'+''##+++++++'++++'#++'''''###++++                
               ,''''+###@#+++;###++++'+++++++#++''''+###+++`                
               `''''++##@##+++''##++++++++'+##++''''@###+++                 
                ''''++######+++++''''''''+###+#''''+###+++'                 
                ''+'++####+++++++++++++++#####+''''####+++                  
                .'+''+##@##''++#+++++########+''''##@+++++                  
                 '+''++@@@##'+''''+#########''''######+++`                  
                 `'+''+#@@###+'''''''''+++''''+######++##                   
                  `+''+#@@@###+''''''''''''+#+######++++.+                  
                    '''#@@######++++++'+#####+#####+++##                    
                    #''''''+###############++++++##++++#:                   
                   ###+''''''''''+++++++++++++#####+++#..                   
                  .####+''''''''''++++++++++######+++++#                    
                  :####@#+++''++'++++++++++######+++++#                     
                  ;##########+++++++++++#########+++++                      
                   #############################++++++                      
                  `############################++++++                       
                    #####@@###################+++++#:                       
                    ######.#+#################+#++,                         
                     ####+@ :@###############+#+;                           
                     :###; `   :########@###++'                             
                       :#         #########++                               
                                  :######++##                               
                                   :'+++'                                   
                                   ,+++'                                    
                                   .'++'                                    
                                   `'++'                                    
                                    '++'                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                    '+++                                    
                                                                                          '',                                                                                                               
                                                                                            .:                '', ''`                                                                                           
                                                                                           ;:             '', '',.''                                                                                            
                                                                                          .;,:        .:.'', '';:;'+`.                                                                                          
                                                                                           ';,,       '', '';++':;;'`;;;``                                                                                      
                                                                                      :'  .;;,,. :''' ``+'+ :;`'', '':;;''                                                                                      
                                                                                 `    +;; ,;::,.;'''` ``++,  :  '', ;'':`                                                                                       
                                                                                ':   +'';.':,:''+';  ''``.'.':,':;;;:;,`                                                                                        
                                                                                ';;  #;;+ '::;'';',```.,,;#   '+ ''';;;;;                                                                                   
                                                                                +;:; ;';' +:;;:;+++'.``...  ,  ,  '',;',':`                                                                                 
                                                                               `';:; ;';; ,;;;;;+++:.,```.`:       `;` '';;                                                                                 
                                                                                :;::.'';;;;;;;:,`.  `,;.            `   '',;                                                                                
                                                                                :;::.;;;: :;;;;;;;';',`    `.            ''`:                                                                               
                                                                                .:;::,';;:,:'+:;:;;;;:`   ``..    '':                                                                                       
                                                                             `:;';'::;;,;:::;;;''+'++;';` ``.,,  +'   '',                                                                                   
                                                                          `;;;;';``.;;;::::;,:'':;'':';..`.,:,::'''` '';+                                                                                   
                                                                       `;;;;,;;;';;;:'':;#;':::+'';:++,,...,,,::,''`,+'`          ''                                                                        
                                                                     .;;;;;;:::::`.';';;:;;';,:::::;`;+; .,,,,,,.''`++', ''.,`       ``.                                                                    
                                                                   ;;:;:,.,,`     ;;;;;;:;'''::`  ,,,:,   ....`..++ ++'.;++.      '',,,,;                                                                   
                                                                 :::+`           `;;;.;;;:`:;',,   : ,,.``....``,+' +++ +++`      '',,,:;                                                                   
                                                               ,::+.              ;;:  :':   :;.   `:.,,......`..,:+++`:+++;    ''.;..,;.                                                                   
                                                              :,;.                .;`   .:    ..   ::;,;:....,.`.,,.,+.++++.   ''.,,..,,,                                                                   
                                                            `::,                         `         `,`.:`.,,:````.,.,,:'++:   '':,,:.,,.:::                                                                 
                                                           ::;                                    ,,   `:.,.`.```.,+;;'`''    ''.,,:,,,,,:;                                                                 
                                                          ::;                                     `      .,` '',...,.+;;;:;+++..':::,,,,,:.                                                                 
                                                        `:;.                                         `,  ''`,,`,,,,,:'';;+'+#++`'#,,,,,,,:                                                                  
                                                       ,:;                                           `..  `:.::,,  ''++;;++,+#+';,,,,,,,                                                                    
                                                      ::,                                            `,,.   `  .,   ''+;:++;+++:;.,,,,,                                                                     
                                                    .:;`                                            `..,. ; ;       ,',`'' '++ '';,,,,`                                                                     
                                                   .,;                                              `,.,  '`         ;. +:  `: '';;    `                                                                    
                                                  :::                                               ``' `.::            '`   '':;;;,,::`                                                                    
                                                 :;.                                                   .`..`:     `     '   '',,:;;.,  .                                                                    
                                               `,;`                                                   .`.... ..  ``         , '',,,:,   ,` `                                                                
                                             .,;`                                                  `.,,,```   `,,.::,     '':::;.`':  ';,,,.                                                                
                                            ,:;                                                    `.,, `.     `,,.,:`   '',,,:.,,;;''';:,::                                                                
                                           ,;;                                                    `.,` `..`   ':,,,,,:  ''::,,:,,,': '';:,,.                                                                
                                         `::'                                                     `,`` `.```  ;,,.::::  '':;,,,.,;' :'::::,:                                                                
                                         ;,,;                                                       ````.. `  +,,,`,;:`.;;:,.,, '''  .;:,:,:                                                                
                                        ;`;;                                                        `..``.`  ``:::``  ''`.;::..,,:;. ;:::,::                                                                
                                       `:;:                                                         ```   `  ,.`,,,, ....,...., '';`.:,;::                                                                  
                                       `;`                                                         ````    `.,,,.,.. ''``,.,:..,,:'  :,:                                                                    
                                       .`                                                           ```   :;.,,,,..`   ,.,:,  ` '':, :,:                                                                    
                                                                                                     ..,,,`,..,,..``   :.,:`  . '', ..,..                                                                   
                                                                                                      ```:`, ,,,,..    `,.` ` : '',: :.,:                                                                   
                                                                                                          .: .:,,`.     ..  ':; '',';.';:,,,                                                                
                                                                                                   ,    , :`,,,,,`     ,''``..,:,;'',:;:,::`                                                            
                                                                                                 :;:,   ::,...`      '',.,...:;:'::::::;;:                                                              
                                                                                                 ,'`    :,`..```,.   ''`,,.`.,;;;;':::::';                                                              
                                                                                                .`,    ,: .....`::    '',,.`.,;::::,::;;                                                                
                                                                                             ```, ,    ,:`,.:..,::    `., ''.,':::::::.                                                                 
                                                                                            ..``  .`   :..,,,,,,.     ` ''.``:':::::::                                                                  
                                                                                                  ., `,,,`,,,,,,.       '',`,;;,:`:`,.                                                                  
                                                                                                 `,.:,`::,,,,,,,,`     ''`.,,.:,: .;;:                                                                  
                                                                                                 ` .,` ;`,::,::,,      ''..,,,:,: .;',                                                                  
                                                                                            .,.,;......;   `::,,`     ''`...,,,: `;':,,,                                                                
                                                                                            ,.,::.:,..,;` `  .        ''..,.,,,,,::::,,,                                                                
                                                                                           `,:.. .,,.,,;+;,           '',;..,,,,,:: ::::                                                                
                                                                                           `,`,  `,:.,,:;,;:        ''``,;,..,,,.:` ::.,                                                                
                                                                                             ,.   .,,., ;,;,`       ''..,::.`;:  ,   :                                                                  
                                                                                             ,,     ..' ..;,.      ''`..,,:,`::  .                                                                      
                                                                                             ,.     :.,`.,,,`.    ''`.,.,,.,':,                                                                         
                                                                                             ` .   :  ,.`.,..,    `.`,`,,, ''.,;` `                                                                     
                                                                                             ` .,;:. .:. .,..,       '':,,,,`.;:'':                                                                     
                                                                                            `` .;;::. : .....`        ''::;,,,,;+'::.                                                                   
                                                                                           `,.`::;', `: ` .,`         '',,:..:.,'::,,                                                                   
                                                                                             `.,,,:: .:;  ..:.         ''`,....:::,.:                                                                   
                                                                                             `.` ``,,,:'; ,,:;.         '':,:.:;::,,:                                                                   
                                                                                                  `,:;;;`,::;''      `   ''`;.:'.,,,,                                                                   
                                                                                                   ,:::;:::::,;  .:```  ` '';,,:,,,;                                                                    
                                                                                                 ` ..:,,.::::::`,;;,::. ''+,,,:,:,:                                                                     
                                                                                               `:``,,::,.,;:;:`.,:::. .'' '',,:,;,,                                                                     
                                                                                                .,,,,.`,::,;;.`.,,.. ''`:,';,,:,.,,                                                                     
                                                                                                `:.````.,   `.```.,  ''...::,,:,,,:,                                                                    
                                                                                                .:.,...`    ,,..`.  ''...,,::.:,,::;                                                                    
                                                                                               `,;,:,,,,   `. ,`    '',,.,,.:`;::;:'                                                                    
                                                                                               :::,,:.`..;'', .     `` ''``,':;''':.                                                                    
                                                                                             ` .,',`.,      . `.     ...,,;:  '';':,.                                                                   
                                                                                              `,`   `:      ` ``      ''.,,.::   ,:,`                                                                   
                                                                                              .,.;. :,        ``      '',,,,:,.:  ;,                                                                    
                                                                                             ` ,'':.::        ``      '',,,;::;'; ::`                                                                   
                                                                                              ;'; ,::        `.      '',,.,,:'',  ,                                                                     
                                                                                             ``;;.,,:, `             ''`,,.::';:;                                                                       
                                                                                            .`,.,.,..;;: .         ` '':,,::;;''::,                                                                     
                                                                                             ,,,`,:.,,:;;.         `,'  ''.;;':;`,,.                                                                    
                                                                                             :,.,::.,,,;,`        .``,: '',;;;:,.,,,                                                                    
                                                                                            ..,:  ,: .:::.,      ''`,...;',::;',,,,.                                                                    
                                                                                            :,;:,`,; ,,:,;:       ,,,.;+': '';:: :,                                                                     
                                                                                            ::,::,.'`.,,,:;       ''`,..:'''`,:;:                                                                       
                                                                                          `.,,::: :`..,:,..         '',,;'':::''`                                                                       
                                                                                          .,.`,.. :., ::,.      .``` '';;';::'+:                                                                        
                                                                                         ..,..`.,,:,,          .,` '',:`,,,:,;+                                                                         
                                                                                         `.,,`,,.`;: ; `      `.,``.  '',,,:,,                                                                          
                                                                                          .`,`:..`:,`''`    `.`.,.,. `,,:,,. ''.                                                                        
                                                                                          ,`,..,,```:''`     ..``.`'. ''.,,..:;```                                                                      
                                                                                         `.`.``.`,` :,:,`    `````:. ` ''.,,,;;`...                                                                     
                                                                                          ,,:.``.;; .::,,   ''````.,::;'.`:.,,::,,,                                                                     
                                                                                          ,::::;,:+.:,,,,   ....,,:;:, '',:,,,,,::,                                                                     
                                                                                          ,::,..;`.::;,,    ''`...,,,.:::`,,,,,,..,`                                                                    
                                                                                          ``.`.,.`:;,'.       ''...,`,..,.`,,,,,....                                                                    
                                                                                           . ,....:;;;;         ''```.`.;:,,,,,.,,,:                                                                    
                                                                                           :.,..`.::;;:         ''.`;,,:,`;,,,,,,,,:.                                                                   
                                                                                           `,,.`. ;..::        ```:;``.,:';. '',,:,:,                                                                   
                                                                                          ..``.,,',..;:       ```.. .'::;;:. '',,,,,,                                                                   
                                                                                          ...`` ';.;:;;.     `.., '',`::::,:::,,,,,,                                                                    
                                                                                          ,....;:':';;',         ''.,`,:;;,:;;,,,,,`                                                                    
                                                                                           ,,.,:.::;:,,,`        ,, '':,:;::::::,                                                                       
                                                                                           ,;:,,`,:,,,:,,        ,, '':,,;,,:';,,.                                                                      
                                                                                            .:;;,.+ `::,.        ,   ''`:;,::'::,`                                                                      
                                                                                            ;;,..;+.`:,:         :` `, '':,;:;:::                                                                       
                                                                                             :;,:;';,::         .:,,   ''::;::::                                                                        
                                                                                             ;, :;;:,,:.      ```;:.  ''`;:::,.  .                                                                      
                                                                                            :;` ';;,,.,:     ``...,. ,,', '',;;. ,,                                                                     
                                                                                           ,:; ,';:::.,,     `  '',,.```:;::,;;,,,,`                                                                    
                                                                                            ` ,, ',,:.,         .,,   '':,,,,,:,,,,                                                                     
                                                                                              ;: ;;..`         `.,,   '':..,,,,,.,                      ____                                            
                                                                                            `;::,,:            `,,. ''`.::,:,:,:,                                                                       
                                                                                           `,:;;;,:             ` ''`.,,;.:;::,,.                                                                       
                                                                                           ` . ::..              '',,.,,:.,,,:, .                                                                       
                                                                                              :::.              '',`,.,:,,,,,                                                                           
                                                                                             ,:,`'               '',,,:....,:,                                                                          
                                                                                            `` ,,                ''.,:......:,                                                                          
                                                                                              :,:               ''`,,,,.`...,,`                                                                         
                                                                                             .,;`              ''`,,:,,,...,,,.                                                                         
                                                                                              ,.`             ''`.`..:;;,....,                      ____                                                
                                                                                              ,,`            ''```..`.;:;,`.``                                                                          
                                                                                               `            .. `.., '';;,:.``                                                                           
                                                                                                             . ''`.,.,',,,,,:                                                                           
                                                                                                             '',``,..,;::::,.                                                                           
                                                                                                              '',``...;::',..                                                                           
                ____                                                                                           ''``.:,:;.;;,:                                                                           
                                                                                                               '',`,::.:`:;::`                                                                          
                                                                                                             ``::,., ''``;:':                                                                           
                                                                                                            ``::,    ''..;:::                                                                           
                                                                                                            `.,:     ''.,`;:                                                                            
                                                                                                            ..,.   ''`....                                                                              
                                                                                                            ,`:::,` ''````'`,                                                                           
                                                                                                           :...:`   ` ''.,,;:                                                                           
                                                                                                           :..,,    ,  ''`,:.,                                                                          
                                                                                                           ;,,,,    .  '',`,,,,                                                                         
                                                                                                           ;;,,.  .;. ''.,`,.::                                                                         
                                                                                                           .,`.:;::`, '',...::.                                                                         
                                                                                                           ,.,.;'' ,,,   ''.,:                                                                          
                                                                                                           `,..,''..  .  '';                                                                            
                                                                                                           ``..::...` '','.:                                                                            
                                                                                                           ''``..::,:.,`,,:.                                                                            
                                                                                                           ,`.,::,,,,,., ''.                                                                            
                                                                                                          ''::,``.::.,`.::`,`                                                                           
                                                                                                          :::,`   ;:` ` ''`::;                                                                          
                                                                                                          :,,. . ' :., ''`,.:,              ____                                                        
                                                                                                          `,,. :', ;.   ''...,                                                                          
                                                                                                           ,.  ,;;;: :   ''..,                                                                          
                                                                                                             ,.,,: :  ,` '',,                                                                           
                                                                                                             ;:,::.:. '',:`:                                                                            
                                                                                                             '',:;.:.;``'``.,.                                                                          
                                                                                                            ''..;;.:.;,:.`.:,,                                                                          
                                                                                                            .,``  '',;`,,..::`                                                                          
                                                                                                            ,,`  . ; ''.:::::                                                                           
                                                                                                            ,,` ''.`.:`'::,..                                                                           
                                                                                                             .  . '':::,.;;.                                                                            
                                                                                                                 '':,:;`.```                                                                            
                                                                                                                `, '':,:..`                                                                             
                                                                                                             ` :: ''`.,,:,                                                                              
                                                                                                             ''```:..,,.,`                                                                              
                                                                                                            ``` ''.,::.,,,                                                                              
                                                                                                            `..`..: '',:::                                                                              
                                                                                                            ''`.,,,,.`.;::.                                                                             
                                                                                                             ''`.:,:,:.:;;:                                                                             
                                                                                                              ''+:,:.,.;;'`                                                                             
                                                                                                             ''`,:;,.,,+':                                                                              
                                                                                                           ''`,,`,:::';;.                                                                               
                                                                                                           ''::..,,;.:;``                                                                               
                                                                                                           ::::,::.;. '',                                                                               
                                                                                                            ,,:,,;,' ''.`                                                                               
                                                                                                             '',:,;.:,`::                                                                               
                                                                                                             ''```',:':::                                                                               
                                                                                                             ''``..'.:;::,,                                                                             
                                                                                                             ''``,.,.:,:,,;                                                                             
                                                                                                             ''`.,,,,`:;;;,                                                                             
                                                                                                              '',,,,,`:':.                                                                              
                                                                                                              ''.,.```::`                                                                               
                                                                                                               '',.``.,.                                                                                
                                                                                                                '',:,,,::                                                                               
                                                                                                                '':,`,:.                                                                                
                                                                                                                ''.`,,, ____                                                                            
                                                                                                                '':,,.                                                                                  
                                                                                                               '',;`.'`                                                                                 
                                                                                                               , ''`;`,                                                                                 
                                                                                                                 ''.:.                                                                                  
                                                                                                                '',:.:                                                                                  
                                                                                                               `,,: ''`                                                                                 
                                                                                                                ''.,,                                                                                   
                                                                                                               ''`,,                                                                                
                                                                                                                ''`,:                                                                                   
                                                                                                                 '',                                                                                    
                                                                                                                             ''                                                                         
                                                                                                                             ''                                                                         
                                                                                                                                                                                                        
                                                                                                         :::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,..........                                                                                                                                                 .:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,.,..........`                                         
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,.,,,...........`                                          
                                                                                                        ,::::::::::::::::::,,,,,,,,,,,,,,,,,,,,.,............`                                          
                                                                                                        ::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,...........`                                           
                                                                                                       `::::::::::::::::,,,,,,,,,,,,,,,,,,,,,.,,............                                            
                                                                                                       ,::::,:::::::::::,,,,,,,,,,,,,,,,,,,,,,.............`                                            
                                                                                                       ,::,,:,,::,::::::,,,,,,,,,,,,,,,,,.,,,,.............                                             
                                                                                                       ,::::,,,::::::::,,,,,,,,,,,,,,,,,,.,,..............`                                             
                                                                                                       :::::::::,:::::,,,,,,,,,,,,,,,,,.,................`                                              
                                                                                                      `::::,:::::::::,,,,,,,,,,,,,,,,.,.,................`                                              
                                                                                                      ,,,::::::::::::,,,,,,,,,,,,,,,,,..................`                                               
                                                                                                      .::,:::::::::::,,,,,,,,,,,,,,,,,..,..............`                                                
                                                                                                      ,:::,::::::::::,,,,,,,,,,,,,,,..,.,..............`                                                
                                                                                                      ,:,:::::::::::,,,,,,,,,,,,,,,,,,,................                                                 
                                                                                                      ,,::::::::::::,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     .:::::::::::::,,,,,,,,,,,,,,,,,,,................`                                                 
                                                                                                     ,:::::::::::::,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,,,.................`                                                  
                                                                                              `      ,::::::::::::,,,,,,,,,,,,,,,,,,.................                                                   
                                                                                                     ,::::::::::::,,,,,,,,,,,,,,,,..................`                                                   
                                                                                               `     ,::::::::::::,,,,,,,,,,,,,,,,.,...............`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,,,...................`                                                    
                                                                                                    `,::::::::::::,,,,,,,,,,,,.,,,................`                                                     
                                                                                                    .::::::::::::::,,,,,,,,,,.,.,.................`                                                     
                                                                                                    ,::::::::::::,,,,,,,,,,,,,.,.................`                                                      
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,..................`                                                      
                                                                                                    ,:::::::::::,,,,,,,,,,,,,...................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,,,,,,,,.................`                                                       
                                                                                                    ,::::::::::,,,,,,,,,.,,,,,,.................`                                                       
                                                                                                    ,:::::::::,,,,,,,,,,,,,.,..................`                                                        
                                                                                                    ,:::::::::,,,,,,,,,,,,,...................``                                                        
                                                                                                   `,:::::::::,,,,,,,,,,,,....................`                                                         
                                                                                                   `,::::::::,,,,,,,,,,,,,....................`                                                         
                                                                                                   .,:::::::::,,,,,,,,,,,.,..................`                                                          
                                                                                                   .:::::::,,,,,,,,,,,,,,,,,................``                                                          
                                                                                                   ,,:::::::,,,,,,,,,,,,,...................`                                                           
                                                                                                   ,:::::::,,,,,,,,,,,,,....................`                                                           
                                                                                                   ,,::::,,,,,,,,,,,,,,,,,.................`                                                            
                                                                                                   ,,::,,,,,,,,,,,,,,,,,...................`                                                            
                                                                                                  `,,::,,,,,,,,,,,,,,...................`.`                                                             
                                                                                                  `,,,:,,,,,,,,,,,,,,,...................``                                                             
                                                                                                  `,,,,,,,,,,,,,,,,,,....................``                                                             
                                                                                                  .,,,,,,,,,,,,,,,,......................`                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................``                                                              
                                                                                                  .,,,,,,,,,,,,,,,,.....................`                                                               
                                                                                                  .,,,,,,,,,,,,,,,.....................``                                                               
                                                                                                  ,,,,,,,,,,,,,,,,,....................``                                                               
                                                                                                  .,,,,,,,,,,,,,,......................`                                                                
                                                                                                  .,,,,,,,,,,,,,,,....................``                                                                
                                                                                                  .,,,,,,,,,,,,,,,...................``                                                                 
                                                                                                  ,,,,,,,,,,,,,,,,..................`.`                                                                 
                                                                                                  ,,,,,,,,,,,,,,,....................``                                                                 
                                                                                                  .,,,,,,,,,,,,,.................`...`                                                                  
                                                                                                  .,,,,,,,,,,,,,....................``                                                                  
                                                                                                  ,,,,,,,,,,,,,,..............`.....`                                                                   
                                                                                                  ,,,,,,,,,,,,,,,...................`                                                                   
                                                                                                  .,,,,,,,,,,,,,,.................```                                                                   
                                                                                                  .,,,,,,,,,,,,,...................`                                                                    
                                                                                                  .,,,,,,,,,,,,....................`                                                                    
                                                                                                  .,,,,,,,,,,,,...................`                                                                     
                                                                                                 `,,,,,,,,,,,,,..................``                                                                     
                                                                                                 `.,,,,,,,,,,,...................``                                                                     
                                                                                                  .,,,,,,,,,,,,..................`                                                                      
                                                                                                  .,,,,,,,,,,...................``                                                                      
                                                                                                  ..,,..,,,,,...................``                                                                      
                                                                                                  .,,,,,.,,,,...................`                                                                       
                                                                                                  `,,,,,,..,,..................``                                                                       
                                                                                                  .,,,,,,,,.,..................``                                                                       
                                                                                                  .,,,,,,,,,...................``                                                                       
                                                                                                 `,,:,,,,,,.,..................`                                                                        
                                                                                                 `.....,,,,...................``                                                                        
                                                                                                 ..,,...,,,,..................``                                                                        
                                                                                               ` .,,,...,,....,..............``                                                                         
                                                                                       `       `..,,,...,,....,...............`                                                                         
                                                                                                ,.,,,..,,..,.........