`-:::/+ysssymNyhsohsssyhyysssysssysssyhhhhyhddhhshyssoy+/yhhyhmhyhddy/:oosssoy.:   `    
            `.-/ooosyhsohdhmdhyyyyyhyssssssssssoyyysssyyhhdddddhddmdddmdysysoyhho/o+os+oo..`. `     
           `.`.yyyooyy:.oshhhyssoyyyysoososoossssyyyysssssyhhdmdddmmmmdhydhhhhyyhys+//+/-.-.-..     
   ` `-.`   ``-yys++sy:-syyyysssssssssoooooooossssysssssssssyyhhddmmdmNmNNNNNdhh/++//+so+: `.-..`   
  ```-o+//.`-://yss+o+//syyyssossooooooooooooosoooooooooooooossyyyhddmNNNNNNNNNmysoo+++o.--.-`     `
     `:ooo++:.::soys/``-/ossoooooooooosoooooooooooooo+ooooooooooossyyhdmNNNNNNNmdysoo+/o/``..       
 `..  `/::::++oossshy+:`-.++ooooo+oooooo+oooooooooo++++++o+++++o++ooooshmNNNNNNmhyoo+++os.```` `    
 .::-:.:--...-/osoosyyy+.`--///:--:+++++///+++/:////////::////++++++ooosydmNMMNNddosooosy:`    .`   
   `  .`    `:yo/.`:/oyy/.`.-.......:://:/:////:::::::/:/+o+++/+//+oooosydNMMMNmNmdhhsssy+-  `.`    
           `:ss.     .ohs/:---:::::-::::://////////++++ooooooosooooooooosydmNNmmmmmddhyhy/..``      
         .:+o+-      `:oy+/:/::/://:::::.-:::///++++oooooossyyyyssooooooooshddhyysmhymsso:`.--      
         //-`          `/s:::::://///////://///+/+++o+osyhyssoooo+o++ooooooyyyyo+yyoydhs+oo+:. `    
        `/+     `       :s+:::////////////////////++syhhso++oooo+++++oooooosssso+o++oyhs+ooo...`    
         `+.`    `     `.+ho:////////////////////+yhhyyyhdmmNNmdyooooooooooosooo+ys:odhsoo+/` `     
          `---....    :sshdmo///////////////////oyysohdhoodmNNdhsooooooooooooo++/oshdhy+--/::..-`   
             ````   ``s/soyddossyyhhhhyso+//////+oooyhdhssydhyooooooooo+o+oo++++/dNNmdho/:.+++::-`  
                    ``-:o..:o+//+ohhdmmmdhs+////+oyyyyyyyysoooooooooo+++++++++++/dNmmddo::/++/.--.  
                              `:sdNdohmNNmmho//++syhyyyssssoooooooooo+++++++++++/hmddddhs-++++..-   
                               .+osyyhdhhyyso+++osyyyyysssssssooooooo+++++++++++/ymmdddddyo:.:``    
                                :/+/+++ossoooo++ossssssssooooooooooo++++++++++++/ymdddhhhhds`-`     
                                 :/+++++ooooo++oossssssooooooooooo+++++++++++++//ymmmdsyyhdm:-.     
                                 -///+++oooo+/+oossyyssssssoo+++++++++++////++///yNmdy:ooyhd:..     
                                 `-///+++++++++ossssyyyyyysoo++//////////////////+NNd-://ydh-       
                       `  ``..``.. -////+++++o++oooooooooooo+++///////////////:://hmy+ooyydy+       
                 ````.-` `-+ooooo+/+o///////+++//+++//++oooo+++/////////:::::::://+yo.:/oohy:       
              ```:.```::` :ssyyyhyysss+/::///++//////++ooooo+++/////////:::::://///o//::+oho        
           ``` ``:`  `./--osyyyhhhhhyhhyo////////++++oooooooooosys++//////:::://///++.-++sh-`` `    
          .`   .:..```:+-+syyyyhhhhhhddddho/://+++ooossssyyyyhhhs+++/+////////////++++-/ohs  ```    
        .`   ` .+--..:+o/osyyyyhhhhhhhdmmmdhs+++/+syhhhdddddhyso+////++////////+++++++/+oyy`    `   
  `     ````.-.:+++-:+ooossyyyyyyyyyyyhdmmmddhhys+/+osysssssoo+////++++//////+++++++o+///:/.-`````  
        .-::///+ooo/+oooossssyyyyyssssyyhdmmddddhhs+//+++++++////+++++/////++++++oooooo//.````.-    
        ://++++++o+++oooooosssssyysssssyhhddmddddhhys+/////+////++++//////+++++ooooooooo+:-`````    
       `://///+++++++++++oooossssysssossyyhhddmdddhhyso+/////////////////++++ooooossooooo+:.-.      
       `///////+++++++++++oooossssssssoosyyyhhdddddhhyso++///////+/////+++++ooosssssooooo+.--       
       .////++++++++++++++oooossssssssooosssyyhhddddhhsoo++////+++////+++oooossssyysso+oo+-.        
       .//++++++++++++++++oooossssssssoooosssyyyhhhhhyyssoo+++ooo+//++ooosssyyyyyyssooo+//-`        
       -///+++++++++++++++oooossssssssoooosssssyyyyyyyysssssssso+++ooossyyyyyyyyysssoooo+o+:..`.``` 
       -//++++++++++++++oooooossssssssssossssssssyyyyssssssyssoooosssyyyyyyyyyysyssssoooooo//-.-..` 
       .//+++++++++++++ooooooossssssssssssssssssssssssssyyyssssoossssyyssssssssssoosooooooo//-..``  
       .///++++++++//+oooooooososssssssssssssssssssssssyyysssosoossssssssssooooooooooooooo+/-.`` `  
       .//////+++++//+oooooooooosssssysysysssysssssssssssssssosssssssssssssooooooooooooooo+-``````  
       `///+///++++//+oooooooooosssssyyyyyyyyyyyyyyssyyssssssssssssssssssssssssssooooooooo/`` `..```
       `/////////+++++ooooooooooosssssyyyyyyyyyyyyyyyyyysyysyyyyyyyyyyysssssssssssooooooo+:````````.
        //////+++/++++ooooooooooosssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssssssssssooooo++:-.`````..-
        /////+++o//+++++o++ooooossssssssssyyyyyyyyyyyyyyyyyyyyyhhyyyyyyysssssssssssooo+:.`..``` `.-:
        :///+++os//+++++++++ooooooooooooosssyyyyyyyyyyyyyyyyyyyyyyysysssssssssssssoooo:.``.```` `..:
        ://++++os///++++++++oooooooooooooosssssssssssssssyysyssssssssssssssssssoooooo+-.-.-.``` ``.-
        :/+++++oso////+//++++ooooooooooooooooosssssssssssssssssssossssssssssssooooooooo+---. ``````.
        :/+++++oos////////+++oooooooooooooooooooooosooooooossssssosssooooooosooooooooooo:-.`  `````.
        :/++++ooos+//////++++oooooooooooooooooooooooooosooossssssososoosssssoooooooooooo/..`````````
        :++++ooooss://///+++oooooooooooooooooooooooooooooooosssssssosssssooooooooooooooo+-..```````.
        :/++++ooosy/////+++ooo+ooooooooooooooooooooooooooooosssssoooooosssoooooooooooooo+-..`.```...
        :/+++ooossy+:///++ooooooooooooooooooooooooooooooooosooosssossoosssoooooooooooooo/-....`...-:
        :/++ooossyy+://+++++ooooooooooooo+oo+ooo+ooooooooooooooossossoososooooooooooooo+:.-.-..--://
        /+++ooossyh////+++++oooooooooooo++++++++++oooooooooooosooooosssssooooooooooo++++-.-----:/+++
        /++ooossyhs/://+++oooooooooooooo++++++++++++oooooooooossooosssssoooooooo++oo++++:-:-::/+++++
        /++ooosyyy/:-:/++ooooooooooooo++++++++/+++++oooooooooosoossssssosoooooooo+o++++/::///+++++++
        ++oooosyy/-``-/++oooooooooooo+++++++///+++++oooooooosssssssssssssooooooo+o+++++//+++++++++++
       `++ooosss:.``./++ooooooooooo+o++++++///++++++oooooooossssssssssssssooooo++++++++//+++++++//++
       .+ooooso-`..-::+oooooooooooooo++++++///+++++oooooossssssssssssssssooooooo++++++//++++++////++
       .+ooos/`.-::::/oooooooooooooo+++++++++/++++++oooosssssssssssssssssooooooooo++++///+//+/////++
       -++oo:` `-::/+oooooooooooo+++++++++++++++++++ooooossssssssssssssssooooooo+++++//:/+///////++o
       .+++.  `.::++oooooooooooooo+++++++++++++++++ooooosssssssssssssssssooooooooo+++:--:/+++/+/++oo
       -//`    `/+o+++oooooooooooo+++++++++++++++++oooosssssssssssssssssoooooooooo+++-.`.-++++++++os
       -/`    `:++ooo+ooooooooooo+++++oo++++++++++ooooosssssssssssssssssooooooooo++++-````-++++++oos
       .` .  ./+++++ooooooooooo+++++++++++++++++++oooosssssssssssssssssssooooooooo+++-`   `-+++oooos
         .-.:/+++++++ooooooooo++++++++++++++++++++oooosssssssssssssssoooooooooooooo++:`    `-+ooooos
        ``-//+++++++++ooooo+++++++++++++++++++++++oooosssssssssssssssssoooooooooooo++:`     `-+oooos
       `..::/+++++++++oo+o++++++++++++++++++++++++ooooosssssssssssssooooooooooooo+o++:``      -+ooss
      .::-:://++/+++++++++++++++++++++++++++++++++ooooooossssssssoooooooooooooooo++++/.`      `/+osy
     :o+++///////+++++++++++/+++++++++++/+++++++++oooooooooooososooooooooooooooo+++++/.`      `-+osy
     -sso+///////++++++++///////+++++++++///++++++++oooooooooooosooooooooooooooo+++++/:.` `  ``.+osy
      :oo+///////////////////////++++++//////++/+++++ooooooooooooooossssssssoooo++++++/-``````../osh
      .//////////////////////////++o++////////+///++++oooooooooooosssyyyyyyysoo+++++++/:.```..-:+oyh
      :-:::::::::::///::///////++++o+/////////+////+/+++o+++oooooossyyyhhhyyssoo+++++++/-...-::/+syh
     .//-::::::::::::::///////++++o++//////////+//////++++++++oooosyyhhdddhyysoo+++++++/::-:://++yhh
    `:++/--::::::/::::///////+++ooo++////////////::////++++++++oooyyhhddddhhyso+++++++/////////+oyhd
    ./+ooo/-:::::///////////+++ooo++/////////////:::://///++++++oossyyhhhhyysoo++//////////////+yhdd
   `:+ooooo+/:::://///////+++ooo++///////////////::::://////+++++ooosyyssyssso++///////:://///+shhdd
   ./ooooo++oo+++++///+++oss/+++//////////////////:::::////////++oooooooooooo+////:::::::::///syhhdd
   :+ooooo++++ooooossyyyhhh+ //////////////////////:::://////////++o++++++o++////:::::::::///syyhhdd
  `++ooooo+++++oooossyyyhhy. .//////////////////////:::::::::://////++++//////::::::::::::/+syyyhhdd
  .+oooooo+++++ooosssyyhhyo   ://////////////////////::::::::::::::///////:::::::::::::::/ossyyyhhdd
  .+oooooooooooooossyyyyys.   `//////////////////////+/::::::::::::::/:::::::::::::::///+ossssyhhhdd
  .+ooooooooooooosssyyyys/     :///////////////////////+//:::::::::::///::::::::::://++oossssyyyhhdd
  -ooooooooooosossssyyyyo`     `/////////////////////////+///://////:///:::::::////++oooossssyyyhhdd
  -oooooooooosssssyyyhys/       .//////////////////////////+++////////////////+++++oooooossssyyyhddd
  -oooooooooossssyyyhhys.        :////////////////////////////++++++++++++++++++++oooooooosssyyhhddd
  :ooooooooosssyyyyhhhy+         `/++///////////////////////////+++++++++++++o+++++ooooooosssyyhhddm