`:-`-:/++ssso+++oo//:/++osyssosdmhysyhhso+//:::--                              
                       .-//++oshs++++o+++++soosyyyyhhhhdhhhhhooo+/::--`                             
                         -++oysys+/+o+++++++oosyyhdmdddhhhdhhsohyo+::--.                            
                        `/osssys+++///:::/+osyhhhdmNNNNNmmddhhsodds//---`                           
                        :+oosso++o++++/---:+osyhhhhhdddddddmdhhsody+:----                           
                       .++ooo+++/////++ooshhhhhysossyddmmmNNmmmdssyo/:--:`                          
                     `-/+oos+/+o++///+oyhmNNdhyo+oyhddmmmmmmmmmmmhyyss/://.                         
                   `./++syso+++oshyysyhmMMNmddhs+++oyhdmmmmNNNNmmmmdhs+/oyso-                       
                  .://+++++++ooshdhdddmNNmddhhhhyyyhhdmmNNNNNMMMMNNmdyssyhhyo`                      
               `.---:/+++++osyyhdmddmNMNmhhhhhyyhhmmNNNmmmNNNNNNNNMNmdmyhdso.                       
             `.---:////++ossyyhddmmmMMMMNmmdhhysossssoosyhhddmmmmNNNNmMddmy+`                       
             ..--://///+oossyyhdddNMMMMMNmdyoo++++oooosyyyhhdmmmmmmmmNNNNmdy/.                      
             .--://////+oosssyhddNMMMMNmdhyso+++///////oosyysssyhhhhhhmNNNmmds/-`                   
             .-:////////+ossssyhmNNNNNmddhyoo+/:://::/++////oshdmmmmmmdNNNNmmdy+o+-`                
            `-:::://:://+oosssyymNNNNNNmdyo+++///:::/::--:+shmmNNmmmNNNmddmmmmmhoyhs+.              
            -:::::::::::/osssssymNNNNNmdhyysso+/:::-----:+shhhddddmmNNNdysyyssyhysddhhs:`           
           ./:::::::--::+ssssssymNNNmmmmmdhys++/:-----::/+oosyhhddmmNNNNmhyyyso++ohmdddhy+-`        
           .+::::--:::/+osyysooydmmmmmNNmdysoo+/:::::::/++oyhhddddmmmmmNNNmdhyso//smmmmdhhyo:`      
           .+//::::://+++syysoohddmdmNmmmdhyso++///:://+oshdddddddmmmmmmmNNNmdys+//hmmmmdddhys/.    
           .+///::::/++/+osys+ydddhdmmmmmdhyyss+/////+oydmmmmddddddddddddmmNNNmds+:ommmmmmddhhys+-` 
          `/++//////////+ooysoddhhdmmmmmdddhyyo++//oydmmmmmdhyyyyyyhhhhddmmmNmmdho:ommmmmmmdddhhyyo:
          -+++//////////+osysyhhyhdddmmdddddyso++shmmmmmddhyssssyyyyyhhhddmmmddhyo/ommmmmmmmdddhhyyy
         .+o+++////////+osyyshyhyhddmmddmddhsooydmmmmmddhyssssssssyyyhhhdddmhhhss//+mmmmmmmmmddddhhy
         /oo+++///////+osyyysyyyyhddddddddhssydmmmmmmdhhssoosssssyyyhhhhdddhyysoo/:/mmmmmmmmddddddhh
        -ooo++++////++ossyyysyyhhhddddhddysydmmmmmmmdhhyyyyyyhhhhhhhhhhhdddyssoo+::/mmmmmmmmddddddhh
       `+ooo+++++++++ossyyyyyhhhhhdhhhddyyhmmmmmmddddhhhdmdhhdddddddhhhhddhsso++/::/dmmmmmmmdmdddddh
       /oooo+++++++oossyyyyysyhhhddhhhdyydNNNmmmdddhyyhdNMNmmmmmmdhhhhdddysso+++//:-:hmmmmmmdddddddd
      .ooooo++++++oossyyyyyssyhdhdhhhdhyhdNNmmmdddhyyyyhdmNMNNNmmdhhhNmdyoos++/////.`:dNmmmmmddddddd
     `+soooo+++++oossyyyyyysosyhdddhhhsyhdNNmdddhhhyyyyhhddmmmmdhyyhdmhsoos//:-..:+sdmNNNNNmmmmmmddd
     -osoooo++++oossyyyyyys+osyhdddhdyohhhdmmdhhhhhhyyyyhhhdddhyssyyhy+:/:..//oyhmmNNNNNNNNNNmmmmmdd
     +ssoooo+oooosssyyyyyysssyyhdmdhdyshhdddmdhhhhhhyyyyhhhhhyssosyyo/..:+shhdmmNNNNNNNmmmmmmmmmmmdd
    -sssooooooooossyyyyyyssssyyhddmdhsshyddhddhhhhhhyyyyhhhdhsssssyyoohddmmmmmmNNNmmmmmmmmmmmmmmdmmd
   .osssoooooooossyyyyyyysssooyhhdddhsyhhymdddhhhhhhyyhhhhdddhhhdyyyhdmdmNNNNmmmmmmmmmmmmddddddddddd
 ./ossssoooooosssyyyyyyyssooosyyhhdhhsyhmsddmdhhyyyyhhhhhhhhdhydmhydmmmmNNNNNNmmmmmmmmmmmddddddddddd
:+osssssoooossssyyyhyyyysooossosyhhhhyyhmyhmmdhhhyyyhhmmNdyhdhdmdydNmmmNNNNNmmmmmmmmmmmddddddddddddy
+osssssssosssssyyyhyyyysssss+/+osyyyhyshmmhmmdhhhhhhhhdmMmhddhmmydmNmmNNNNNNmmmmmmmmdddddddddddyo:` 
oosssssssssssssyyhhyyyyyyysoooo+/+ssysshmmhdddddhhhhhdmdmhdmdmmyhdmmmNNNNNmmmmmmmmmddmmddddho:`     
ooossssssssssyyyyhyyyyyhhhhhhhyo/++++oodmmdmmdddddddhddhyydmddyymdmNmNNNmmmmmmmmmmmmmmdhs/.         
ooosssssossssyyyyyyyydhyhmdddhys+++::+ommmmNNmmmmdddmNNdhhmddyodmdNNmmmmmmmmmmmmmmmds/.             
ooooososssssyyyyyyyhddmdyydddhhyys+://sddmNNNNNNNNNNNNNhydddhshmmdNmmmmmmmmmmmmhs/.                 
oooooooossssyyyyyyhdmdddddyyhddhhs+//shhhdmNNNNNNNNmNNdhyddhsymmmmmmmmmmmmds+-`                  `  
ooooooossssyyyyyyyhdmmdddhddhhhysssssdmdhhhmNNNNNNNmmdhhhhyhydmmmmmmdhs+:.                          
oosooooosssyyyyysyhmmdmmddddddhhhyyhhdddddddmmmmmmmdhhhyyhdhmmmhs+:.`                               
ooossoossssyyyysyhdmddddmmmddddhhhhhhhhdhhhhddhhhddddhhdhys+:.`                                     
ssssssssssyyyssyhdmmdddddmmmmdddhhhhhhhhhyssyysssydhs+:.``                                          
sssssssssssyyyyhhdmmddhddddmmmmddddhhhhhhyysss++oys.                                                
ssssssssssyyyyyhdddmmdhhhdddddddddddddhhhhyysso++oss:                                               
ssssssssssyyyyyyhhdddhyyhhhhhddddddddddddhhhyysso++oso-                                             
ssssooosssyyysyyyhhddhyyyyyhhhhhhhhhhhhhddhhhhyso++++os+-                                           
yysssooosssssssssyyhhhyssssyyyyyyyhhhhhhhhhhhhhhyo///+syy+-                                         
yyyssoooooooooosssyyyyssooossssssssssyyyyyyyhhhhhyso//osyyyo-`                                      
+yyyssooo++++oooooooooooo++++/++++++oooooosssssyyyyys++syhhhyo:`                                    
`syysssooo++oooooooooo+++//////////////++++oooosssssssooshhhhyso:`                                  
 .sysssooooo++ooooooo+++//////::::::://///+++++ooossssssooydhhhyso:`                                
  -yyssooooo++++++++++++//////:::::::::://///+++++oooossso+ohdhhyys+-`                              
   :yyssooo+++oo++++++++///////:::::::::::://///+++++osyyhy+/yddhhyo/:-.                            
    :yyssoooooo++++++++++///////::::::::::://///++++++oyyhhhs:hddhys+:-::`                          
     :yyssoooooo++++++++++////////::::::::://///++++++osyhhhhs/ddhhs+-../.                          
      .syssooooo++++++++++//////////:::::://///+++++oossyhhdds-yddhs/..--                           
       `+yysoooo+++++++++////////////::/://////+++ooossyyhddho:sddhs/---`                           
         /yyssoo++++++///////////////////////++++ooossyyyhhhy+:omdhs+//-                            
          -syssoo+++++////////+++++++///////++++oossssyyyhhys+:odddyso/`                            
           `oyssoo+++++++/++++++++++++++++++++ooosssyyyyhhhys+/+ymdhyo.                             
            `+yysoo++++++/+++++++++ooosssssooossssyyyyyhhhyyo+o++hdho.                              
              :yyssoo+++++++++++++++oossyyyyyyyyyyyhhhhhhhysooss++h+`                               
               -yyysoo+++++++++++++++oosssyhhdddddddddddddhsssyso+/`                                
                .hhyssooo++++++++++++++oossyyhhhdddmmmmmmddhhyssoo+-                                
                 /hhyyssooo++++++++++++oosssyyhhhhhdddddddddhysooo+/.                               
                 `shhhyysssooo++++++++++ooossyyhhhhhhhhhhhhhhyyso+++:                               
                  -yhhhhyysssooooo++++++++oossyyyhhhhhhhhhhhhyyso+++/.                              
                   +hyyyyyyyssssoooo+++++++oossyyyhhhhhhhhhhyyyso+++/-                              
                    oyyyyyyysssssoooooooo++ooossyyyhhhhhhhhhhhhyso+++/                              
                    `shyyyyyyssssooooooooooooosssyyhhhhhhhhhhhhhyo+++/`                             
                      ohyyyyyyyssssoooooo++oooosssyyhhhhhhhhhhhhyso++/-                             
                       +hhyyyyyyyssssoooooooooosssyyyhhhhhhhhhhhysso++:                             
                        :hyysssssssyyssoooooooosssyyyhhhhhhdhhhyyysso+/`