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