:hddddmmddmmmNNmmNNNNNmmmdddddddddddddddd+                      
                                  `ohddddddmmmmmmmmNNmmmmdhhyhhhhhdddddhdmmmmdo                     
                                 -syhhhddmmNmmmmmmmmddhyhhhdmmNNNNNNmmmmddmNNmdo                    
                                /yyyyhdddmmmmmddmmmhhyhhhdddmNNNmmmmmmmNmhmmNmmms                   
                               /yssshddhddddddddmhsyhhydddddmmddhhhhhdddddhddmdmN:                  
                              /ysssyhdydhhhddhddysyyyhdmdmmmmmh+/::://+ossyssshdNm`                 
                             /hyoshyhyhdhhhdhhsosssyddddmmmmms:--.....--://///+sym:                 
                           `/hdoohsyhsdhyyhyssooosddhhmdmmmms:--....`...----.-:/oh:                 
                           -yds+yssyshhyysssyo/oyhyhhddmmmms:---..............--+y/                 
                          `sho+ossoyshyysyyys+sssyhhhhddddy:--..................+h`                 
                          +sss+oy+sshyyosyysossyhdhhhhdhdy:--..................-s:                  
                         :+oy+osoooyyysoyyysosyddhyyyhhdho/:-..................-h                   
                        `.+yy+os+oohysosyysooshddysyyyddo/:/+++:-..-.........../m                   
                         -yy+o+s++yss+oss+oosyhdhssyyhhhsso+o++oo+:-----.......yN                   
                        `+yy++ooooyss/ooo/+oysydsosssyhdmmdosdh++++/:---------:dN`                  
                        :sys+os+/yss++oo//+ssyysossssysyhhy++yho++/:--::/+ooosomN                   
                        :yysoos/+dss/oy+/+sossysssooso/:://+++/:--:.`./ddhymdyhNd                   
                       -oshyooo/shso+ss/+soosyyso+oo+:-..........-.```oyhssmMMMNy                   
                       /+shsoo+/sys/oh++oo+shys++oo+:-..```````..-..``-:/o+NNNNNs                   
                      `.:yhyos//so+/yy+oyoshyoosso/:-....`...------.``.``..Nmhdm+                   
                      `/shdy+s/+oo/ohoosysysoyyyo/::---....--/:---..`..```/NNhdm:                   
                     -oyhydyos/ooo/shooyysosyyyo+/::::-------/+////----...ydNddd`                   
                   `/syyyydys++os/oyyosyssoyyys++//::::::-----:/+++//::-./hhddhy                    
                  :sysssshdss+so++syssysssoyys+///::/+yo/::://:/::::/::-:osyhhdy                    
                `+syyssosyyososs/osysssysssyy+:///:::-:/+::-:-/+ss/://:///////++`                   
               -oyyyoooosyysooo++osysyyyysyys////::----://::::-/oo///////::::----.                  
             `:syhyoooosyyssoo+++syssyyyyssso/++/:------:///////:://++//:---.......`                
            .+yyys+oooyysoyooo++sysssyysysss++o++/:----.--:////-:+o+///:---....```..`               
          ./syhysooooyysosyo+oosyoossyysysso+osso+/:--........-+sso+//::---....````..`              
        .+ssyyyssosoyyssyhs++osssossysosysso+oooosso/::--....-osoo++//:::--.......`..-`             
     `-/syssssssssssyssyhy+++sssoossssssysooo+oooosssso++///+ssoo+++//::::---........-.             
   `:osssssysssyssssoshdd+++ooo+osssoosssooo++oooooooosddsoyysso+++///::::-----..--.---`            
`-/ossssssssssyysoooydddo//+o++oosooossysooo+++ooo+++sddsoossso+++/////:::-------------.            
+ooooooooososyysoo+sdmds///++++oooo+oosyso+o+/++++++sdho+++osoo++//////:::------------.-`           
++++++++++++osoo+++oyhy+:///+++o+o+++ossoo+++++++++ohyo++/++oo++///////::::::-----------.           
+++////////++++++++ooo+/://+++oo++++++oso+//++/++/+oo+++//++++//////////:::::------------`          
//::::::://+++////+oo+::://+++oo+/+////+++//+//+//++///////++////////////:::::-----------.          
::----::::/++:://+oo/:::////////////:://++/////+////////////////////o+///::::::-----------          
::---::::://:-::+o+/:::::///:::::::::::://///:////////////////::::/+y+///:::::::-------.--          
/:::::::://:-:////:::::::://///:::::::::://::::////////////:::::::/+h+////::::::------..--`         
//:::-:::/:-:///::/:::::---::::::::::::::::::::::::///////::::::::/+h+////:::::-----------.         
///::::://-::::::/::---::------------::::::::::::::://///:::::--::/oh++/////::::----------.         
+///::://:-:::://:--------------------------:::::::://///:::----::/syo+////::::::-------.-.         
++////://-:::://::------------...-------------:::::://///::------:/ys++////::::::---------`         
+++/////::::::::://:--------......-------------:::://///:::------:/yso++////::::----------.         
oo++////::::::::::o+/:----.........-----------::::://///:::--...-::oho+++///:::::::-------.         
soo++/////::::---:/s+/::--..........-----------::://////::--.....-:/yyo++////::::::-------`         
sso+++////::::-----/yo/::---.........----------:://////:::--..``..-:+hso+/////:::::------:`         
oysoo++///::::------/yo//:---.........---------:/++////::--...````.-:ohs++////::::::--::::          
`ssso++////:::-------/yo//:--.............----::/o+////::--..``````.-/hyo+////::::::::::::          
 -ssoo++////:::-------/ho/::-..............---::+s+++/:::--..```````.-+do++////:::::::::::          
  :ssoo++///::::------:sy+/:--...............-::+yo++/::---..`````````-yso+/////:::::::::-          
   +soo++++//::::------/ho/:---..............-::+ho+//::---..``````````/ho+////////::::::-          
   `osoo++++///:::-----/ys/:--.........`......::/yyo+/::---..```````````sy+///////:::::::-          
    `osoo++++///::-----:sh/:--......```````...-:/oho+/::---..```````````-ho+//////:::::::.          
     `ossoo+++//::::---:oh/:--....``````````..-:/+hs+/::---...``````````.os+////////:::::.          
      `sysooo++//:::---:+h+:---...``````````...:/+yh+//::--....`````..-::/s+////////////:.          
       `sysooo++//:::-::/sy:---....``````````..-:+sms+/::---...````.:/++//yo+++/////////:`          
        `sysoo+++//:::::/oh/:--....```````````.-:/omms+/:::--......-/oss+/yo++++///////::           
         `syyso+++///:://+ys:---...`````````.``.-/ohyho+/:::-------:++syo+yoo++////////:-           
          `oyysoo++///////oy+::::--.``````````..-:oyooyo+/:::::--:::/+++/yyoo++////////:.           
           `ohysso++//////+sy//+o+/:-.`...`....--/ss+++ys++/////////////sdyoo++///////::`           
             +hyyso++/////++ys+shsoo+-........--:+so++++syysoo+++++++oohNhsoo+////////::`           
              :yyyso++/////+oyyohssys+:-------::/sso++++ooosyyyssssyyyydmyso++////////::            
               .shysoo++//+++osysyyys+/:::::::/+ssoo++++ooooooooooooossdmso++///////+/:-            
                 +hysoo++//++++oyyyso+++//++++osooo+++++++++++++++++oosddso++////////:--            
                  -yhso++/////++osyhdhysssssssoo+++++/////////////+++osmho++///:////::-.            
                   `ohsoo+///////++syhhyyyssoo++++/////////////////++osmyo++///:////::--            
                     :yso+///:::::/++oyyssssoo++///////////////////++oydso++///////::::-            
                      `oso+/::::::://++syssso++////////////////////++odhsoo++///////:::-            
                        os+//::---::///+syysoo+///////////////////++osmysoo+++/////::::-            
                         oo+/::----::///+yhysoo++////////////////+++oymysoo++++////:::::`           
                         `so+/::----::://+hhysoo+++++////////////+++oymysoo++++/////:::::`          
                          /yo+/::----::::/ohhysso+++//////////////++oydyssoo++++////::::/:`         
                          `hyo+//::-::--:-:shyysoo++//////////////++oydyssooo++++////::://:`