.......` ``````````-:::::::::::::::::::::::::::::::::::-::--:----:-::----:----:--------------------------------------------------------------------------------------------------------------------------------------------------------------------.--.---------.---........................................
---.....```````````://////://:/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::-:-::::::::::::::-::::::--------::-----::---:------------------------------------------------------------------
--------``.````````:///////////////////////////////////////////////////////////////////////////////////////////://////////:::/::::::::::::::::::::::::::::::::::::::::::/:::/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::---::::
:::::--:.`..````...:+++++++++++++++++++++++++/+////+//////+////////+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////:/::://:/:::::::::::::/:::::::::::::::::::::::
::::::::.`.........:o+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/+++++++++++++++++++++++++++/+/++++///+/+/++/////////////+//////+++/////////+++++++////////++///////////////////////////////+/////////////////////////////////////////
////::::-`.........:ooooooooooo+o+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//////:////+++++++++++++++++++++++++++++++++++/////+++//++++++////////////////////
////////:..-:-.....-ooooooooooooooooooooooooo++o+ooo+oooo++++o+oo+++++++++++o+ooo+o+++++ooooooooo+++++o+o++++++++o+oo++o+++ooo++++++++++++++++++++++++++++++++++++++++++++++++++++++++oooo++++++++++++++++o+++++++++++o+++/+///////::/+++++++++++++++++++++++++++++++++++++++++++++o++++++++++++++++++++++++
/////////..---.--..:+oooooooooooo+oooooooooooooooooooo++++ooooooooooooooooooooooooooooo++ooooooooooo+ooooooooooooooooooooooooooooooooooooooo+++oooo+++o+oo++oooo+oo+oooo+oo+oo+ooooooooooooooooooooo++oooooooooooooooooooo+/::::::///++oo+oooooooo++ooooo++++o+o++++++ooo++++++o+oooo+++++++++++++++++++++++
::::/::::..-....-----:::/:/:///:/:-/+++++//+++///+++++:///://///+////////////////////:/+//+//////++/++/////+//+/+++++++/////+//++++//+/://+++++++++++/++/++++++++/://////////:::://++//+++/::://:/+//:/++++++++//+/++/++++:------.-:-:://///////////////+////+++//++//+++//++/:////::////////+//////+///////
``````````````````````````````````````````````````````````````````````````````````````````````````````.................................`.........................```........`...............................................................................................................................
                                                                                                                                                                                                    ..--`           ..-.`                                                                                   
                                                                                                                                                                                                    `./:`           ...-.                                                                                   
                                                                                                                                                                                                    `.+:`           `.-:-                                                                                   
                                                                                                                            `                                                                       `-o/.           `.::-                                                                                   
                                                                                                                          ``` `    ```     ``  `                                                    `/o/.            .:/.                                                                                   
                                                                                                              `         ````    ``````..``````````                          ``                      `-+/`           `.+o-                                                   ``   ```````````````````........
                                                                                    `                       `       ``  ````...``...``.....``...````                                                .-++.           ``/s:        ``   ```````````` `````.` `...-------:::::::///++++o+ooooossssssyyyyyhhhhhh
      `                                                                             ``                   `     `    ````````..-.``.-.`..---...-....```                                   ````````````.:+:`....-----.`.++/::::://////++++++ooossss:`:syyyy:`+yhhhhhhhhhddddddddddmmmdddddddddmmddmmmmmmmmmmmm
                                                                                    ``                 ````   ```````.``...`.----..-...-:::--.-----```                    .:////+++++++++oooooossssyo-.-::://++///:--+++hhhhhhhhdhhdddddddddddddh/`odmmmd/.ydmmmmdddddddddmmmmmmmmmmmmmmddddddmmmmmmmmmmmmmN
                                                                             ``  `  ```  ``     ``  ````````````.````.-..----::::::-:---/::-:--:----..`                  `/yhhhhdhdddddddddddddddddddh/------::-:---//ohddhhhhddddddddddmmmmmdddy-.ymmmmh:-ymmmmmdddddddmmmmmmmmmmmmmmmdddddddmmmmmmmmmmmNNN
                                                                             ````.``.`  ``` `    ```````.....``.---..--:/::///+++//:::-:/+++////::----.                  `+yhhhhhddddddddddddddddddddddhysssyyyyyysyyhdddhhhhhhhdddddmmmmmmmmmmmy.-ydmdds.:hmmmmmdmdddddmmmmmmmmmmdmmmmdddddddmmmmmmmmmmmNNN
      .::`                                                                  `````.`..````..```   `````..-:::---.:+///:://++ooossso+/:::///o+o+/o+//:.-.                  `/yhhhhhhhhhhddddddddddddddhddddhdddmmdddddddddddhhhhhhhdddmmmmmmmmmmmmd+.:////--sdmmmmddmmmmmmmmmmmmmmmmdmmmddddddddmmmmmmmmmmmmmN
      :ss-                                                                  `.-.` `````..---```` ```.-:::/+/::::/oosso+///osysyyyysoo//++/osooo/o///:-`                   /shhhhhhhhhhdddddddddhhhdhhhhdddddddddddddddddddddhhhhhdddmmmmmmmmmmmmdhsoosssyhdmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddmmmmmmmmmmmmmmmm
      :sy/                                                                 ``-.````  `..--::-...```.-::---:/+o++++osysso+//ossyhhhdhyo++o+oyyyy++///::.                   /yhhhhddhhhhhdddddddhhhhhhhhddddddddddddddddddddddhhhhdddddddddddddddddddddmmmmmmmmmmmmmmmmmdmmmmmmmmmmmmddddddmmmmmmmmmmmmmmmmmmm
      -oy+                                                                ``..```..```..-:///:-....-:///++shhyssoossyhhhyssshhhhdddddhsoo/oyhsyyso//o:`                   /yhdddddddhhhddddddhhhhhhhdddddddddddddddddddddddddhhhdddddddddddhddddddddddddmmmmmmddddddmmdmmmmmmmmmmmddddmddmmmmmmmmmmmmmmmmmmm
      .oy+`                                                                ..```.--...---:/+++/:-://::/++ohdddhyyyhhhddddhdddmdddddddddhy+oyhhyyyhyo++.                   /shddddddddhhddddddhhhhhhddddhhhhhhhhhdddhdddddddddddddddddddddhhhhhddddddddddddmdmddddddddmddmdddmmmmmddmmmmmmmmmmmmmmmmmmmmmmmmm
      .oso`                                                               `.````.-..:////++ooosso+ssooosyhdddddmmmmmmmmmmmmmmmmmdddmmmmddysyyhdhydds++-                   :shddddddddddddmmdddhhhhhdddhhhhhhhhhhdddhddddddhddddddddhhhhhhhyhhhhddddddddddddddddddddddddddddddmmdddmmmmmmmddmdmmmmmmmmmmmmmmm
      .+so`                                                                .```.--.-/+++/+oossyyyyssshhddddmmmmmmmmmNNNmmmmmmmmmmdmmmmmmddhhhhdhhyhyoo+`                  :shhhdddddddddddmdddhhhhhdddhhhhhhhhhhddddddmmdddhhdddddhhhhhhhhyhhhdhhhhdddddddddddddddddddddddddddddddmmmmmdmddddmmmmmmmmmmmmmmm
      `+so`                                                                .```.--.:+++++oosssyyyhhhhhddddmmmmmmmmmNNNNNNNmmmmmmmmmmmmmmmddhdhdhdhhhsso-                  :shhdddddddddddddddddhhhhhhhhhhhhddddddddddddddhhhddddhhhhhyyhhhhhhddhhhhddddddmmdddddddddddddddddhdddddddddddddddddmdmmmmmmmmmmmm
      `+so`                                                                ````...-:+oooooossyyhhhhhhhddddmmmmmmNNNNNNNmmNNmmmmmmmmmmNNmmmdddhhhhhhysoo+`                 /shhhddmmddddddddmmdddddddhhhhhhhddddddddddhhhhhhhhhdhhhhhhhhhhhhhhhhhhhhhhdddddddhdddhdddddddddhhhdddddddddddddddddmmmmmmmmmmmmmm
      `/so.                                                                 .``...-:+ooooosssyyyhhhhhhddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNmmdhhyyyyyhysso/.                 /syyhhdmmmmmddhddmmmdddddhhhhhhhhdddddhddddhhyyyyyhhhhhhhhhhhhhhhhhhhyhhyhdddddhhhhhddhddddhddhhhhdddddddddddddddddddmmmmmdmdmddmm
      `/oo.                                                                 ```...-:+ooosssssyyyhhhhhhddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNmmmdhhyyyyyyhhhy+.                 /syhhhddmmmmddddmmmmdddddddhhhhhddhhhhhhhdhhhhyyyyhhhhyyyhhhhyhhhyyhyyyyhhhdddhhyyhhhdhdddhhhhhhhdhddddddddddddddddddmmmmmdddddddd
      `/oo.                                                                 ````..-:/+ossssyyyyhhhhhdddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNmmmhhhhdddddhyyo:-`    ``         :shhhhhdmmmmddddmmmmmmmmdddddhddddhhhhhhhhhhhhyhhyyyyyyyyhyyyyyyyyyhhhhhhhhhhdhhhhhhhhhddhhhhhhdddhhddddddddddddhhddddmmdddddddddd
      `/ss-`                                                                ````..--+ooosyyyyhhhhhdddddmmmmddmmmmmmmmmmmmmmmmmmmmmmmmmNNNNmdhyyhhdddhyyddhy:   `          :syyyyhdmmmddddmmmmmmmmmddddddddddhhhhhhyyhhhhhhhhyyyyyyyyyssssyyhhhhhhhhhhhhhhhhhhhhhhhhyyyhhhhhhyhddmdhhddddhhhhhhhhddddhhhddddh
       :os:`                                                                `.``..-/oossssyyhhhhhdddddmmmmdddmmmmmmmmmNmmmmmmmmmmmmmmmNNmNNmdhyshddhhhhddysh.             :shyyhhdmmmddddmmmmmmmmmmmdmmmddhyyyhhyyyyhhhddddhyyyyyyyyyyssyyyhhddhhhyyyyhhhhhhhhyyyhhhhhhhhhhyyhdmmdhdddhhhhyyyssyhhhhhhhhhhhh
      `-os:``                                                                .``..:+ooooossyhhhhhdddddmddmmddmmmmmmmmmmddhddddddddmmmmmmmmmmmdhhhdddhhdmdhsy:             :shhhhhdmmmmdddmdmmmmmmdmmdmmddhyyssyyyhhhhdhdddddhyyyyhhddhhyyyyhhhhhhyyhyyhhhhhhhhyyyhhhhhhdhhyyhhdmmddddhhhhhysoosyyhhhhhhhhhhh
       -os:```                                                               ```..:+++/:///+ssyhddddhhdddddmmdmmdddhhyoooshddddddddmmmmmmmmmmddhhdmmddmmmdyh:             :+yyyhdddmmmmmmmdmmmmmddddddddhysssosyyhhdddddmmmdhhhddddddddhyyhddhhhhhdddhhhhhhhhhyyhddddddddhyyhhddddddhhhhhysoossyyyhhhhhdhhhy
`     `-+s/```                                                               .``..-/+++o++/////+syyhhyhhddddmmdddhhyyyyhddddmdddmmmdmmmmmmmmmmddmddmddmmmdyh+     ``      -oyyhhddmmmmmmmmmmmmmmddddddddhyssoosyyhdddddmmmmdhdmmmmmmdddhhhdddddddddmdhyhyhhhyhyhdddddmdddhhhhhdddddhhyhhhyoosshhyyyyhhhhhhyy
` `````-os/````                                                              `.`...:/osyyyyysoo+//+ossshdmmdddddhyyso++::///ooooydddmmmmmmmmmmhhhddmhshhhddh+     ``      :syhddddmmmmmmmmmmmmmmddhdddddhyyssyyyyhdddddmmmmddmmNNNmmmmddddddhdddmmmddhyyhhhhhhhhddddmmmdddddhddmmmdhyyhhhyoosyhhhssyyyhhhhhy
```````-os+`````      ````                                                   `....::://::/+-.-/-++:::/+yhmmmmmmdhyooshh+oshddddhyddmmmmmmmmmmmdddmmmmmdhyhmh+     `       /syhddmmmmNNmmNmmmmmmmddddmmdhhhhhhyyyyhdmdmmmNNmmmmNNNNNNmmmmmmmdddmmmmmddhyyhhdhhhhhddmmmmmmmdmddddmmmdhyydhhs+osyhhyoossyyyhhhh
```````-os+`````     ````````                                                 `...:++/--+syo++ooyyo+o/:shdmmNNNmmdyssyyhhdddddddmmmmmmmmmmmmmmmmmNNNmNdyyhmh:             /syhdmmmmmNNNmmmmmmmmmmddmmddddddhhhyyhhdmmmmmNNNNNNNNNNNmmmNmNNmmmmmNNmmmdhyhhddhhyyhdmmmmmmmmmmmmmmmmmmhyhhhyo+oohhys+oossyyyyyy
```````.+so.``````  ``````````                                                 .--/+oso/+syyhhhhhyyys+/ohdmmmmNmmdhyssssyyyhdddmmmmmmmmmmmmmmmmmmmNNmdyyhddh`     `      `:shhdmmmmmNNNmmmmmmmmmmddddddddddddhhyhddmmmmNNNNNNNNNNNNNmNNNNNNNNNNNNNmmddhhdddhyyyhdmmmmNNNmmmmmmmmmmdhyhhhyo+oshhysooooossssyy
```````.+oo.`````   ``````````                                                 .:./+ssyysssyyyyhhhhyo+/oydmmmmmmNmmmddhhyhhdmmmmmmmmmmmmmmmmmmmmmmNNhyhdmdd:   ````       :shhdmmmmmmmmmmmmmmmmmmddddddddddddddhddmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmdhhhdddhyhhddmmmmmNNmmmmNmmmmmdyyhdhysooshhhysssosooo+sy
```````.+oo.`````````````````   ``                                             .-./+ssyhhhhhhhdddhys+//oyddmNNmmmmmmmmddddmmmNNNNNmmNmmmmmmmNmmmmmmmhddmddy`   `````      :syhddmmmmmmmddddmmmmmmmddddddddddddddddddmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNmdhhyhdddhhhdddmmmmmmmmmmNNmmmmmddddddhysoyhdhhyysysso++os
````````/ss.`````````````````                                                  `../+osyyhhhhddmmddyo///sdmmNNNNmmNNmmmddmmmNNNNNNNNNNmmmmmmmNNmmmmmmmmmmdh-               :shhdddddmmmmddhddddddddddddddhhhdddhhhhhhhhdmmNNNNNNNNNNNNNNNNNNNNNNNNNmdhyyhddddddddmmmmmmmmmNNNmmmmNmmdddddddyyhddhyssyhyys++os
````````/ss-``````  `````````                                                   ..//+osyhhhdmmmddhso//+sdmNNmmmmmmmNmmdddmmmNNNNNNNNNNmNmmmmmmmmmmmmmmmdd/                :yhdddddddddmdddddddddddhdddddhhddddhhyyyyyhhhddmmmmNNNmmNNNNNNNNNNNNNNNmdhdhdddddddmmmmmmmNNNNNNNNmmNNmmmddhhdddddmmhysshhhyso+os
````````/ss-```````  ````````                                                  `.-:/+osyhhddmdddhys+:/oydmNNNNmmmddmmdddddmmmmmNNNNNNNmmmmmmmmmmmmdddddh+          `      :yhdddddddddddddddddddhhyyhhhhhhdddhhyysyhhhhhddddddmmdddmmmNNNNNNNNNNNNmmdddmmmmmdddmmmmmmNNNNNNNNNNNmmmmddhdmmmmmmddhyhddhyssooy
````````/so-``````````````````                                                 .-.-:/osyhdddddhhysoo/+shmmNNNNmmmmmddhhhhddmmmmmmNNNNNmmmmmmmmmmmmdysso-          `       -shdddddddmddddddddhhhyyyyyyyyyyyysssosssyyyhhddddddddddddddmmmNNNNmmNNNmmdddmmmmmdddmmmmmNNNNNNNNNNNNmmmmmmmmmmmmmmdddddddhyyyssy
````````:oo-`````` ```````````                   `````````                     .-.-:/osyhhddddhhso+o/ohdmNNNNNNNNmmdddhyyyhddmmmmmmmmmmmmmmmmmmmddd/..`                   -sddmmmmmmmmdddmmddhhhyhysssssssssoooossssyyyhhhdhhhhhhhhhhhhhddddddmmmmmmddddmmmmdddmmmmmmNNNNNNNNNNNNNmmmmmmmmmmmddhddhhyyyyyyyy
````````:oo:``````  ` ````````      ````......-...---....--..                  `-.-::+syyhhhhhyso+/:/shdmmNNNmmmdhhmmmmmdysyhddmmmmmmmmmmmmmmmmmddd:...`          `       .ohdmmmmmdmddddmmmdhhhhhysssssssyyssssssssyyyyhhyyyyyysssysssyyhhhhhhddddddddmmmmdddddmmmmmmmNNNNNNNNNNNNmmmmmmmmmmmddddhyyyyhhhyy
````````-++:`````     ```````   ```...------------------......`````            `-.-:::+syyyyyssoo+/:-/syddddhhhhddmmmmmmmdhysyhddmmmmmmmmmmmmmmmddh...--..`               .shddmmddddddddmmmddhhhyyyyyyssyyhhyyyyyysyyyhhhyyyyssoossssssssssssyyhdddddddddddhhhhdmmmmmmmmNNNNNNNNmmmmmmmmmmmmmddhhyyyhhhhhhh
````````.//-``````    `````````...------------------------........```           ...:/:/ossssssso++//:-:/+oyyyhdmmmmmmmmmmmmmdhyyhdmmmmmmmmmmmmmdddo.....`.`               -sddddddddddhhdddddhhhhhhyhyyssyhhhhhhhysssssyyyyyyyssssyyyyyssooo++oshhhddddddhhhhhhhmmmmdddmmNNNNNNNmmmmmmmmmmmmmddhyyyyhhddhhhd
````````.+o/````````  ```````.....--------------------------.....`````          `..:+//osysoosso++++///+osyhhdmmmmmmmmmNNmmmmmmhhdmmmmmmmmmmmmdddh-``  `      ``          -sddddddddhhhhddddhhyhhhhhhysoossyhhhhysooooossssssyyyyyhhyyssssoo++osyyyhhdddhhhhhhhdmmmmdddmmmmmmmmmmmmmmmmmmmmmmmmddhhddddddddd
````````.+++````````   ````......--------::::::::---:--:-------....``            ..-++:ohdhsssso+++oooosyhhdddddmmmmmdddhhdddddddmmmmmmmmmmdmdddhy.``  `     ```          .ydddddddhyyyhhdhhhhyhyyyhhyso+oosyyyysoooooossossyyhhhhhhhyyyysssooossssyhddddhhhhhddmmmddddmmmmmmddddmmmmmmmmdmmmmmmdmmmmdmddmmm
````````.:/:.```````   ``......-----:---::-:::::::::::::-::-----....`            `.-:+//ydmhyyys+-..://++osyyyyyyhhhdhhs+ydmmmdddmmmmmmmmmddmddhh+``.``      ``         ``.:/+oyhddhyyhhhhhhhhhhyshhhhysoooosssoo+ooossssyyyyyyyyhhhhhhhhhyyyyssooosyhhdhhhhhhddmmdddddmmmmmdddhdddmmmmmdddmmmmmmmmmmddddddd
`.```````-:-.```` `   ``.....---------::::::::::::::://::::::-----...             `.-/+:ohdddhhyoo:.-//shoyysdNNdNNmmdhyhmmmmmmdmmmmmmmmmmddddhhh-``...`             ``.........-+shyyhhhhhhhhhhhyhhhhyysssssssoossssyyyyhhhyssyhhddhhhhhhhhhyyysssyyhhhhhhhhhddddddddmmmmdddddhhhddmmdddddddmdmdddddddhhhhh
.....````---````     ``......-------::::-::::://::://::://:-:::-----.`             `.-//:shdddhso++++/+oyhdmdmNNdddddddmmNNmmmddmmmmmmmmmmdddhyhs```....`      `..`````....`.::::--:+yhhhhhhhddhhhhhhhhhhyhhhhyyhhhyyyyhhdddhyyyhddddddddddddhhhhhhhhhhhhhhhhhhhhhhddddmmmmmmdddhhhhhdhhhhhddddddhhhhhhhhhhh
......```---```     ``.....-------::-:::::::::::::::/:::::::::::-----.`             `-:/:/shhhhyo+/+++sssyyyyyhhhddmmmNNNNNNNmmmmmmmmmmmmdddhyhd/ ```....``     `````.-::/:..-/+o++//:+sooosyyhhyyhhhhhhhdddddddddhhhhhdhhdddhhhhdddddddddddddddddddhhhhhhhhhhhhhhhhhddddmmmmmmmdhhhhhhhhhhdddhhhhhhhhhhhhhh
.....````-//.     ```......-------::::::::::::::::::::::::::::-::-----`   `          `-:/:+yyhhyoo++++osyyhhyhhdddmmNNNNNNNNmmmmmmmmmmmmdddhyhdh-` ``.....`         `.--://-`-:////+/-.-:///:::/++//+++osyyhdmmmdmmdmmmmdddmmdddmmmmmddmmmmmmmmmmmmmddddmdddddddddhhdddddmmmmmmmmdddddddddddddddhhhhhhhhhhhh
...``````-::.     ````.....-----:::::::::::::::/::///////::/:::::-----. ````          `.:/:+ssyyss++oosssyhhhhhdmmmNNNNNNNNNmNNmmmmmmmmddhyyhddo.. ```.....`         `.-://-`-:/+///:..-///:-.-:///:/:/:///+oooosshmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmmmmddmmmNNNNNNNNNNNmmmmmmmmmmmmmmmmmmmddddddd
` `      ```     ````.......--------:::::::::::::///////////::::-:---:- `````          `.:::+oosyys++osyyyhhhdddmmmNNNNNNNNmmmmmmmmmmmddhyyhddh-.. ```......`         .-::/.`-:/+:-::..://:-..:///:://--:/+/--:+oooshmNNNNNNNNNNNNNNNNNNNNNNNNNNmdhhyyyyyyyhyyyyssssssyhdmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
                 ````......----------:::::::::/:///////:////:::::-:--:- `````          `..-::/+osyysssyyhhhhhdmmmmNNNNNNNNNNNmmmmmmmddhyyhhhdho...  ``.......```       .-::-`.:/+:-:-.-//::-.-://::::--////--:+/:/+oosyyyhhhhhhddhhhddhhhhdddhsoooooooooooooooosssssoo+/++syhdmNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
                ````......------:::::::::::///////////////////:/:----:. `````           ...---:/oyyyyyhhddddmmmNNNNNNNNNNNNmmmmmdddddhyyhhhhhh-...  ```......```````   `.-::..-//:.-..://:--..://:::.-:///:.:/::/++/::////////+++++/+++++++//////////+/o+oosssssssssssssyso++osyhyoooosssyyyyyyyyyyyyyyyyyyy
                ````......-------:::::::://////:////////////////::----```````            .-....-/oyyhhhyddmmmmmmNNNNNNNNNNNmmmmddddhyyyhhhhhhs`...` ```.......```````    .-::.-:/:...-//::--..://::..:///:-:::://:--::://:://::::///////////++ooooosoosoo+ooosyyyyysssssossyyysosso/.`   ```` ``  ``````````
                ````.....--.-----::::::::::::/:/:/::////////////:::--.```````````        `----..-/osysyyhdmmmmmmmmNNNNmmmNmmmdhddhysyhhhhhhhh-`...` ```.......`````````` `..:--://-`.:/:::-...:/::-.-:/::-::::::---:::::-::::--:::://+///+oooooossssossssssssoossyyyyysssoooosyyyysss+-`                    
               ````.......-----::::::::::::://::::::/:////////////::.``````````````       `-::-.`./+osyyhddmmmdddmmmmmmmmmdhhhhhyyyhhdhdddhh+``...`` `.........````````````..-.://-`.-:::::..-:::-.-::::---::-----::::--::://:+/////+++++ooooosssssssssssyssyyssssyyyyyyssssooossyyyyyyo-`                  
               ``````.....----:--::-::::::::/:::::/:://////////////:-``.`````````````  `   `-:::-..-:/osyyhddddhhhdddddddhyyyysyhhhdddddddhs.``..... `.........``````````````-.-//:.`-::-:-..::--..-------:-..--:::++/:----::::::+oooooo+ossosoooosssssssssssyyssssssyyyyysssooooosyyyyyys-`                
               `````....------------:::::::::::::::::///////++++++++/-....`````````    ```  `-:/::-..--/++ooosssssyyyssssssssyyhhhddddddddy.``...`.- ```........`..````````` ..-///-`-:-.:-..::-..--.---:-...--::/+oso+/////+//::-:/+sssoosooossssssssssssssssssysssssysyyyyyssooooosyyyyyhs:`              
              ``````.....----------:::::::::::::::::::////////+++++++++-.````````````         .:///::-.....---::::://++ooosyyhyyhddddddddy-``....`-:` `.........``..``````````.-//::..:-.--..:-::://+//:----:://+++oosss+//+o+++//::/+oossssssoossssssssssssssssssssssssyysyyysssssooosyyyyyhs/`            
              ``````...-.-.-------::::::::::::::::::::::::/++o++//+++///+:-.``````````` ```    `-/++++////:::::::///+oyyyhhhhhhhhddddddhy-```.....::. ``.........`...````````` .::::-.-.`--.-::/+:::+oso::/:://://++++ooso+++++ooo+/:/++ooosssssosssoosssssssssssyysyssyssssssyyssssssossyyhyyhy/`          
             ``````......---------:::::::::::::::::::--:/+++/////+/++/-/o/+o/.....`````````     ``-/oooooooooooo+ooosyhhhhdhhhdddddddddy.```....`-/:. ```.........`.````````````-::::---.:::++///+///+os+/+/+++///++++++oosoo++ooooo+//+oo++ooosssssoosssssosssssyyssysssssssssssssssyysssyyyyyyyy/`        
             `````........-------:::::::::::::::::::--/++////////+/////+/:oos+++o+o+-.-:.```  `   `.:+sssssyyyyyyssssyhhhddddddddddddho...`.--...://-````.........`.````````.-::::///+o+++++o+++//o///oso++++o++///////++oosoo++++ooo+//+ooo+oo+oososssssosssysoooyssyysssssssssssysssysyyysyyyyyyhs.       
             ``````......-------::::::::::::::::::---/o/::://///++++///+:/osoo+ooooso+:/o:``..`  ` ``.:syyyyyhhhhhhyyyhddddmddddddddh+...`--..-..://--.``......-//:--:::://+++ooooo+++o++/+++oo++//+//+oo+o+o+o++o++////+++ooso+o++ooo++++ooo+++++oosssssssoosssoossssssssssssssssssssssyyyyyyyysyyhy-      
             `````........------:-:::::::::::::::---/o+::///+/++/+++/+o:-+oooo+oo+oso+//os//::-.````` `./yhhhhhhhhhhhhdddddmddddddddy//////:-...-///-:-`.......:+sssssooooo++o+ooossooooo+++++o+++:+//+oo+ooooooo+o++///:/+oossooo+++oooo++oooo++/+++ossssssoosssssossysssssosssssssossssssysyssyyyyhy.     
             ``````.......-----:--::::::::::::::---:++/::///++//++++++/-/oooooooooooo+/+ooooo+o+:````````-+ydddddddhhhdddddddhddmmmmmmmmmmmmmmddddhhyss++/////++/oooosooooo+oo+ooooosoosooooooo++//////oo++oooooooooo++////+oososoo+++++o++oooooo++++++ossosssossossssssssssssssssosssssssssssyysyyyyho     
      ``     ``````.`....----------:--::::::::-:--::/+//////+/+++++++/-/osooo++ooooo+/+oosoooo+os+/oyyhddmmmmmmmNNNNNmNNmmmmNmmmmNNNNNNNNNNmmNNNNNNNNNNNNNmmmmdhs+osooooooooo+oooso+o+oososoooo++//:+/+oo//+++oooooooo++///++ooossso+o++++++ooo+oooo+o+oosooossssssssssssssssssssssssssoosoosyssssyyyyh`    
          ``````````......---------::---::-:::::::::/:::///++/++o+++/-/oooo+o+oooo+++/ooosoosooooosssooodNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmhyo+ssoooooo+++++oosooooooosooo+/::/:+//oo/:/+/++oooosoo+++/+++++oosssossooo++osoosooooooooooosoossssssssssssssosoossosoooooo+ooosoossyh.    
          ``````````.......----------------:--:::::::/:///////++o+o+::+osooooooooooo+oooooooso+oosssoossshmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmNNmdhsosososoosoo++oooooo+++++oooo+/::/://++o/-////+oooossooo+o+///++oooososooooooooosoooooo+ooosoooooososooooosssooooosoo++oo+++o+++ooossy`    
      ``   `````````.`.....---------------::-::::/:://///////++++++//+osooosoooooo+++osooo+ooo+ooossosssossydmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmmhsssoooosooooo++ooso++++++++++/::::+/++o+:::://+ooossooooooo+/+ooooososooooooooooooooooo+oosoo+oooooosoooooooo+oooo++++++//+///++++os+     
            ``````````.......--..------------:::::://////////+o++++++ooooooo+oooooooooooooooooooo+ooooososssssssyyhmmNNNNNNNNNNNNNNNNNNNMMNMNMNNNNNNNNNNNNNNNNNNmdyoso++ooooooo++++ooo+++/++/+//:-::+//+oo/:::::++ooooososoooo++++ooooooooooooo+ooooooo+o++oooo++o+++++oo++++oo++o++++++///////////+o+`     
            ```````````.........----------------::://////////++++o+oo+ooooooooooooooooooo+ooo+ooo+ooooososoossooosssoooosydmmmmNNNNNNNNNMNNMMMMNNNNNNMMNNNNNNNNNNmhooo++++++++++++++ooo+++++//:/:---////oo//:--://o+ooosoosooooo++o++ooooooo++oo++++o+oo+o+o+++++o++++++++++++++++/////////::://///o/`      
         ```````````````.......-..------------::///:////+///++++o+ooooooooooooooooooooooooooo+oooo+ooosoo++ooo+oossssoo+:--:/oshddmmmNNNNNNNMMMMNMMMMMMMMMMMMMMNNNdoo++++++++//////++ooo++++//:::::-:::/+o+/::-://+o+/:/+++o++++++++++/++++++++++++++++ooo++++o+++++/++//+/++///+//////::/::::///++-      ``
  ```    `  `````````````.......--------------::::::////++++++++oo+ooooooosoooooooooooooooooooo+oo+oooo+o+++++oooooo+oooo+/:-.`.-/ohdmmNNNNNNNMNNNMMMMMMMMMMMMMMNNmooo++++/+////::////+o+++///:::---::::/+++//::::+++---://///////////////////+++///+++o++++++++++//+/++/+/////////::/:::::::::/oyo+oosyyyyy
``````      ``````````````......---------------::::///++/++++o+o+oooo+o+ooooosoo+oooo++o+oooo++++o+o+++++++oo+o+o++++oooooo+//:-....:+shdmmmmNNNNNNNNNNNNNNNNNMNNNNsoo+////+//:/:::////+/+++//::::--::--/++++/::::/+:.---::::::::::::::::////////////+//////+++/++/////////////////::::::::::+oyhhhhhhhhhhhh
 ```        ````````````````....---.------------:::::///++++o+ooooooooooooosoooo+oooo+o++oo+++++o++++++++++o++++++ooooooososooo+++/:-.`.-/+syhdddmmmmmmmmNNNNNNNNmd+++++///////:::::::::///+//:::--.::--:+ooo+////+/..--:::-:-----:::::::::////::::::///:::://///::::///::::::/:::::::--::/oyyyyyyyyyyyyyhyh
            ````````````````.....--------------:::-::////+++oooooooooooooooooooooo++++++++++++++/++++//+++/++++++ooooooosoosoooo++/:-..`````.-:/+osyyhhhhhhhhhhhhyo:+++///////::::::::-----::/:::--.:--.-/++++++///....-:---------::::::---:--::-::--:::::/::::----------:-------::--:::/+syhhhhdhdddddddddd
            ``````````````````......------------:::::/://++o+ooooosoooooooo++ooo++++++++/+++++++/++//++/////////++++++/+++++///::---------..`` ```.-://+oossssso+/-.+///:/::::::::--::--.....-.---..:--.-:/+::----....-...-...-------............----:::::--:-:-:/::/+++++ooooosssysssyyyyyyyhhhhhhhhhhhhhhh
            ````````````````````....---------:--::::::///+o++oooooooosooo+++++++++++++++++++o+++oo++++++/////:::-------:----------::/:::-........--....`..```````  `////:::::------.---.....```..```-.....-.` ```````.``......------:::://+++oossyyyhhhhhyyyhhhhhhhyyhhhyyyyyyyyyyhyyyyyyyhdhhhhhhhhhhhhhhhh
            `````````````````````....------------:::::////+++o++oooooo+o++++++++++++++++++/++++ooooooooooooo+oo++++/////:/://////////+++++++///:-.-``....``        `::--......``..`....................---::::::///++++ooooossyyyhhhhhdddddddddmddddhhhhhhhhhhhhhyhhhhhhyhhhhyhyhhyyyhyhhhhhhhhhhhhhhhhhhhhh
            ``````````````````````.........-----:--::::://+++++++++o+++++//++///////////+///+++++++oooosossoososoosssooooooooooooo++o++///:::-..---.--.------.------:://:::://:/+/+/++++++++ooooosooossyyyyyhhhhhhhdddhdhdddddddhhddhhhhhhhhhhhhdhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
  ` ```     ```````````````````````........---------::::://////++++++//////////::::::------:-::::::://///++/+++++++++++//////:://:--:::///:////++++oooooossssssssssossoooossssssyyyyhhyyhhhhddddhdddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhhhhdddhhhhhhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
  `````     ``````````````````````````.......------------:::::::/://:::::::::-::-----......`````````.......----:::::////////++++oo++ooososssssssyssssyyyyyyyyyyyyyhhhddhhddhdddddhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhhhhhhhhhhhhddddhddhhhhddhhhhhdhhhhhhhhhhhhhhhhhhhhhdhhhhhhhhhhhhhhhhhh
`````        `````````````````````````````......-.------..-....--------.-.................------::::://////++++++++ooooooooooooosssssssyyyhhhhhhhhhhdddddddddddddddhhhhhhhhhhhhhhhhyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddhhdhddhhhhhhhhhhhhhdhhhhhhhhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddddddddh
``````       `````       ```        ````````````...-...............--------::::::://///+++++++++oooooossssssyyyysssyyyyhhhhhhhhhddddddddddmddddddhhhdhhhyyhhhhhhhhhyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhddhdhhhhddhhhhhhhhhhhhhhhhhhhhhddhhhhhhhhhhhhhdhhdhhhdhhhddhhhhhddhhddd
```.-/+/:`  ``````         `````````......---------::::::/:////////+/++++++++++oooooooooosoossssysyyyyhhhhhhdddddddddddddddddddddddhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhddhhhhhhhhdyhhhhhhhhhhhhhdhhhdhhhhhhhdhhhhhhdhhhhhhhhhhddhhddhhhhhhhhddddhdhhhddddddddddddddhhhdddd
  `:osoo+-``````.....---------::::::::::/::////////+/+++++++ooooooossyysssyssssyyyyyhhhhhhhdhhhhdddddddddhdhhhhdhhhhhhhhhhhhhyhhyyyhyhhhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhdhdhdhhhhhhhhhdhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhhdddddddddhhhdhddhhdhhdddddddddddddddddhdddddddddddddddddd
---:+so+o+:::::::::::::::::::::::::////////+++++oo+ooooosssssyyyyhhhhddddddddddddddddddhhhdhddhdddhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddhhhhhhhhhhhhhhhhddhhhhhhhhhhhhhhhhhhddhhhddhhhhhhddddhhdhddhhddddddddddddddddhhhdddddddhdddddhdddddddddddddddddddddddd
::-:+yhyy+::::::::::::////////+++++oossssyyyyyyyhhhhhhddddddddddddhhddhhhhhhdhhhhddhhhhhhhhhdhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhhhddddddhddhdddddddddddddddddddhhhhhdddddddddddhdddddddddddddddhhhdhhdddddddddddddddddddddddddddddddddhdh
////oyhhhyoooosssssssyyyyhhhhhhhhdddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhhhhhhhdhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
yyyhhhhhhdhdhhddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhdhdddhhhhhhhhhhhhhhhhhhyhhhhhhhyyhhhhhhhhhhhhhhhhhhhhhhhddhhhhhhhhhhhhhhhhhhhhhhhhhhhddddhhdddhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
ddddddhmmddhhhhhhhhhhhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhyhhddddhhhhhhhhhhhhhhhhhhyddhyssssyyyyyyyyyyyyhhhhddhhdhhhhhhhhdddhdddddddhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmddddddmdddddddddddddddd
hhhyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddhysyddyyyyyhhhhhhhhhhy+/ohyss+//oyhhdddddddddhhhdddddhdddddddddhhhhddddddddddddddddhhhhhhhhhddhhhhdhhddddddddddddddddmmmdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmdddddmmddddddddd
yhhhhhhhhhhhhhhysssssssssyyyyyhyyyyhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhyyyyyyyyysyyyssyhddddddhhhhhhhhhys/:-//-/:.`-sdmmmmmddddhhhhhhhhhhhhddddddddddddddhhdhhhhhhdddddddddddddddddddddddddddddddddddmmmmmmmmdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
hhhhhhyhhhhhhhyyyyyyyyyyyyyhhyhhyyhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyso+ooyhhhsdddhhhhdddmmmmhhhhhyyyyso+/so///.``+yhyhhhhhhyyshhyhhhhhhhddddddddddddhddddhddhhhddddddddddddddddhhhhhdddddhdhddddddmmmNNNNNNmdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
hhhhyhhyhhhhhhhhhhhhhhhhhhhhhhhhhyhhhyhhhyyyhhhhhhhhhhhhhhhhhhhhhhhhhyysso//oyyydmdddmdmddmdddddddhhhhyyyyyoysyhys/+:..:+o+++++++++ohhhhddddddddddddddddhddddhhddhhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddhdddddddddddhhdddddddddddddddddddddddddddddddhdddddddddddddddddddddddddddddddddddddddddddddddddddddd
hhhyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyso+/::+ddshhyyydhhhhyysssyssshhhhhhhy+yhhsoso::::-:/://+ooo/+hhhdddddddddhddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddhhdddddhddddddddhddhdddddddddddddddddddddddddddhddhhdddddddddddhhhhhhhhhhhddddddddddddddddddddmmmm
hyhyyhhyhhhhhhyhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyysso+:--:+++osss+oo+so+++++++/ydhhdhhhhysssosos+/////+o+oooyshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhdhdddhhhddhhhhddddddhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmm
hyyyhhhhhhhhyhhhyyhhhhhhhyhhhhhhhhhhhhhddhhhhhhhhhhhhhhhhhhhhhhyyyyyysoo/:----::://::/+++///////:ohhhhhhhyyyyyyyssssssyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddddhhhhhhhhhhhhhhhhhdhhhhdhhhdhhhhdddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
hhhhhhhhhhhhhhhhhhhhhdhhhddhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhyyyyyyhddo/:-..-:///++/++osssyhhhhhhhhhhhhhhhhhhyyyyhhyyyyyyhhhhhhhhhhhddhhhhhhdhhhhhhhhhhddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddhhhddddddhhhhhhhdhdddddddddddddddddddddddddddddmmmmmmmmmmmmmmNmmmmmmmmmmmmmmmmmmmmmmmmmdddddddddddd
hhhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddddddddddhdhhhhhhhhhhyyysso+syyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyhhhhhhhddhhdddddhhhhhhhhhhhhyyyyyyyyyyyyyyyhhhhddhddddhhhhdhhhhdhhhddhhddddddddddddddddddddddddhhhdhhdddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddddddddmddddddddddddddddddddddddhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyhhyhhhhhhhhhhhhhhhmmhhhdddddddddddddddddddddddddddddddhhhyyyyysssyyyhhddddhhhyhhhhhhhddhhdddddhhddddddhdddddddhdddddddddddddddddddmdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddddddhhhhhhhhhhhhddddhhhdddddddddddddddddddhh
hhhhdddddddddddddddddddddddddddddddddddhddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyhhhhhhhhhhhhhhdddddddmdhdddddddmmmmmmmmmmmdmmdddddddddhdhhddhhhhhyyhhhyyyyyyyhhhhhhhhhhhhhhhhhhddddddhhhddddddddddmmmmmmNNmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddhddhhdddhhhhhhhhhhdddddddddhdddddddhhhhhhhhhhhhhhhhhhh
ddddddddddddddhhhhhhhhhddhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddhdhhhhhdhhhhhdddddhhhdhhhdddddddddmmmmmmmddddhhmddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddmmmmmNNmmmmmmmmmmmmmmmmmmmmmmmddmdddhddddddhddhhddhhhhhhdddhhhddhhhddhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddhdhhhhhhddddddddddddhhhdddhhddddddddddddddddddddddddddddddddddddddddddhddddddhdddddhhhhhdhhhdhdddddmddddddmmmmmmmmmmmmmmmmNmmmmmmmmmmmmmddhhhddhhhhdddhhhhdddddddddddddddddddhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhdhhhhdddhhhhhhhhhhhh