```                                                     
                                       ``.......`````                                               
                                   `....-----.....```..`                                            
                                  `.---.-------.........-.`                                         
                                 `-:::----------.........--..                                       
                               ``-::::--......--...``.........`                                     
                              ``.//++++//-.....--...............``                                  
                              `.:o+/:---.----....-...............--.`                               
                             `.:+o+/++/:.....-.---.............---.---``                            
                            `.://::-----:--...-.--...........------::-                              
                             .-:::---....---.....-:-.........-----:://.                             
                             `-:::--.......---....-:-....--------::////-`                           
                             `.:/:---......-::-.....:::...---..--:::::/::-`                         
                         `   `.:::---...-:/++++:....-:::-.--:-..--:::---:/.`                        
                         `    ./://::----/+sohhs:.--.-://:----.-..-::--.-:-.`                       
                         `    `-/syyyo+-.-:+/+/:-:----::/+//:-------::--------`                     
                        `     `.:++os+/:.....-----:///:::++o++/:::::::-----.`..`                    
                        `     `.-/-:/:::.....-...---://::/++/+/--:-.-------.```-`                   
                              `.-/://:::...----------:://////+:.-:------------.:-```````            
                           ` ``.-:-://///::--..--------/+++ss+:-/+:-:-:-.--::::-/                   
                           ```...--:::///+/::::::----::/://+oo/:///:--------:::::`                  
                           `````...-:-`-/oo++//:----://:::://oo/-://:::-::::-::::.                  
                           ``````....-...:////:----/++/::::::/+++:--::/+++//::://::`                
                           ```````.....--.-::::://+o+//:::-::://+o+/-.-:/++//::/::-`.               
                            ``` ``...`..-``////shyoo+//::::::/+++++++/:::/+++/-:-:.``               
                            ` `  ``..``..``://+oso+++////::/++++++++++++//////-..-`                 
                              `   ``.````..-:/++++++///::::+o++++++++++++++///:-.:`                 
                             ````  `......--:///++/////::/++++++++++++++++++++/:-/-                 
                                `` .----.`.:///++///////++++++++++///++++++++++//--                 
                                   ```....:////////::::/++o+++++++////+++++++oo+/-:`                
                                 ` `..--://::/::::----/++++++++++++/+/++++++++oo+--.                
                              .```.-::::::::-------..:++++++++o++++/+/++++++++s./:-..``             
                              .-:::::::-------......-+/+++o++o++++++///++++++++`./.                 
                           `-::::::::----..........-+++++++o+o++++++//+++++++++.  .-.`    ``        
                         `-::::--:::--............-//++++++ooo+++++/+++++++++++ ``   ```            
                        ./:::---://:-..........-/+++/+++o/+ooo++++++++++/++++++                     
                       .//:::-.:+//:-......`...:/+/+++++/++oso+++++++++/+++++++                     
                     ``://:::-`:o+/--..........////+++++++++oso++++++//++++++++`                    
                     `.+//::-:./+/:---........:///++++++++++osoo+++++///+/++++o/.`                  
                      -++/::::-+//::---.....-:+///++++++++ooosyo+++++/+++++++++..`                  
                      .o++//:/+++//:::-----/ss/+/++++++oooooooso+++++++++++++++`.                   
                       /oo++/+oyso+//::/oymmd++++oooooooooooooss+++++++++++++++.                    
                        :osooosyyhyysydmNNNh+++oooooooooo++oooss+++++++++++++++.                    
                          -sdddhymdmNNNNNds+ooooooooo+ooooooosss+++++++++++++++-                    
                           :NmhdmmNNNNNdyoooooooo++++++++ooooosso++++++++/+++++:                    
                            sdmdhmNNmdsoooooooo+++++++o++oooosss+++++++++++++++:                    
                             /hmsmdysooooooooo+++++++++ooooooooso++++++++++++++:                    
                              `/yyssossoooooooo+++o+++o+++ooossyoo+++++++++++++:                    
                              `:+ssssooooooooooooooo++++++++oooys++++++++++++++:                    
                      ``.-:/+osy+ssssssoooooooooo+++++++++oooosyso+++++++++++++-                    
               ``.:/++osyyhhhhhdhooossssoooo+++++o+ooooo+oooossssooo+++++++++++.                    
          ```./oyyhhhhhhhhhdddddhh/+osoooooooooo+++++++++oooossooooooo+++++++++`                    
       `:+oo+yhhhhhddddhhhhhhhhhhhy/ooooooooooo+++++++++oooooo//+++++++o+++++++``                   
   `.:+shhdhhdddhdddhhhhhhhhhhhhhhhs/oooooooooooo+++++++++o+//::://++++++++++++/::-.`               
-/oyyhddddddddddddhhhhhhhddhhhdddddds/osooooooooooo++++++o+/:::----:/++++++oo+/:::::::-.`           
oyhddddddddddddddhhhdddddhdddddddmmmms+ossooooooo++++///++/:::-------:/+oooo+/:------:::::-`        
sooshdddmmdmdddhhhhhhhhdddddddmmmmmmmmhsssso++++++++++++//:::------:://+oo+:-----------::://:.`     
sssoo+sdmmdhhsso++shddddddddmmmmmmmmmmmh+ssso+++++ooo+//:::-----:::///++/:----.......----::////.    
oo+++/:+ydosy+//+ohddhhhddmmmmmmmmmmmmmoossssoo+++o++/::::-----::://+o+/:---.........----::://++/`  
:-:---:/+s/odo:/+shhsshdmmmmmmmmmmmmmmd:+syyyssoo+/:/::------::::/+so+/::-------....-----::///++++:+
..------/+//so::+shyydmmmmmmmmmmmmmmmms/++syyhyo/:::::------::/+oyys++///////////:::::::::///+++ooyN
.......--:/+oss+/+syddmdmmmmmmmmmmmmmd////+sdy+/::::----:::/+++++//::::::::---:::::://////+++ooossym
....-----:://oydhooyhhhdmmmmmmmmmmmddo////+oo/::::::::://///::::--------------....-----::://++ooosym
--------:://++osdmhhhyydmmmmmmddhso++//://+/:::::///::::::----------..............-----:::://++ooosd
::///+++++///syyhmmmmdyhmdddys+///////://::::://::::-------------..............-------:::///++ooossh
hdmmdhyo+/::/ohdmmddddhyso+///////////:/::::::::-------.......................------:::////++ossssyy
mmmdyyyyysshddmmmmmdyo+////////////+/::::::------...........................-----::::///+++ossyyyyyd
mmmmmmmmmmmmmmmmdyo///:::::::::/://:::::-----............................------::::///+++ossyyyyyhdm
mmmmNNNNNNNNmds+/:::::::::::::::::::------....................-------------:::::///+++ooossso+osydmN
NNNNNNNNmmdy+/::::::::::::::::::-------...................----------:::::::////+++oooosssyo/::::/ohm
mmmmmmmmho///:::::::::::::::::-----...................-------::::///////++++oooosssssssyyo/:+syyhdmm
mNNNNmh+////::::::::::::::::---...................-----:::////+++++oooossssssssyyyyyssoooshmmmmmmmmm
mmmmms///ohhyysssso+::::-----................----:::///++ooosssooooooooo++++++////////+smmmmmmmmmmmm
NNNNmhyssNNNNNNmmmd+::-----..............---:://++oo+++++//:::::::-:::-:::/++++yyhhddmmmmmmmmmmmmmmm
mmmmmmmmmNNNNNNNmy/::----.............--::/++o++//::-----------------:+ydmmmmmmmmmmmmmmmmmmmmmmmmmmm
mNNNNmmmmmmmmmNNh+/:---.............--:/+++/::----------------:+osyhhhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
dddmmmmmmmmmmmNmo+/::--...........--:/+/:----------------osshddddmmmmmmmmmmmmmmmmmmmmmmmddddmmmmmmmm
ddddddddddddmmmdso+//--....-------:/+/------::::-:::/osshhddhhdmmmmmmmmmmmmmmmmmmmmmdddddddddmmmmmmm