__/\\\\____________/\\\\__/\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\__/\\\________/\\\__/\\\\____________/\\\\__/\\\\\\\\\\\__/\\\\\_____/\\\_
 _\/\\\\\\________/\\\\\\_\/\\\///////////____/\\\//////////__\/\\\_______\/\\\_\/\\\\\\________/\\\\\\_\/////\\\///__\/\\\\\\___\/\\\_
  _\/\\\//\\\____/\\\//\\\_\/\\\______________/\\\_____________\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_____\/\\\_____\/\\\/\\\__\/\\\_
   _\/\\\\///\\\/\\\/_\/\\\_\/\\\\\\\\\\\_____\/\\\____/\\\\\\\_\/\\\_______\/\\\_\/\\\\///\\\/\\\/_\/\\\_____\/\\\_____\/\\\//\\\_\/\\\_
    _\/\\\__\///\\\/___\/\\\_\/\\\///////______\/\\\___\/////\\\_\/\\\_______\/\\\_\/\\\__\///\\\/___\/\\\_____\/\\\_____\/\\\\//\\\\/\\\_
     _\/\\\____\///_____\/\\\_\/\\\_____________\/\\\_______\/\\\_\/\\\_______\/\\\_\/\\\____\///_____\/\\\_____\/\\\_____\/\\\_\//\\\/\\\_
      _\/\\\_____________\/\\\_\/\\\_____________\/\\\_______\/\\\_\//\\\______/\\\__\/\\\_____________\/\\\_____\/\\\_____\/\\\__\//\\\\\\_
       _\/\\\_____________\/\\\_\/\\\\\\\\\\\\\\\_\//\\\\\\\\\\\\/___\///\\\\\\\\\/___\/\\\_____________\/\\\__/\\\\\\\\\\\_\/\\\___\//\\\\\_
        _\///______________\///__\///////////////___\////////////_______\/////////_____\///______________\///__\///////////__\///_____\/////__

Megumin - the first logical centralized system for detecting and preventing attacks and threats to the linux-based server pool

System features:
• Identify and block unwanted web activity
• Identify and block unwanted activity on open ports
• Identify and inform all modifiable files and directories inside
• Identification and registration of all successful authorizations on the server

And remember: If you are peering into the darkness for too long, the darkness starts peering at you!

all threats 9208
all threats banned 6783

The most attacked ports:


TELNET attacks (23/992 port) 4 434 630
SSH attacks (22 port) 4 300 680
RDP attacks (3389 port) 377 085
SMB attacks (445 port) 2 775 148
MS service port attacks (1433/1434/4111/8530 port) 989 103
FTP attacks (ftp/ftps port) 85 708
WEB-hack attacks (80 port) 19 014
MAIL attacks (smtp/imap/nntp ports) 167 761
SIP attacks (5060/5061 port) 18 754
R-ADMIN attacks (4899 port) 37 105
NETBIOS attacks (135/137/138/139 port) 63 952
APPLE audio and remote desctop attacks (3689/3283 port) 7 976
IPP attacks (631 port) 18 880
DCOM attacks (1026 port) 7 644
IPERF attacks (5001 port) 14 362
SUN attacks (8888 port) 15 298
WEBMIN attacks (10000 port) 23 357
CISCO-xremote router configuration attacks (X-remote port) 47 421
UPnP attacks (5000 port) 14 662
SCAN host times 134 330

New added protocols:


WINBOX attacks (8291 port) 66 838
Jubber attacks (5222/5223 port) 15 210
Oracle port attacks (2483/2484/3872 port) 5 055
Zabbix attacks (10050/10051 port) 2 144

Attacked per operating systems:


Linux OS attacked 4 684 079
Windows OS attacked 4 250 037
Apple OS attacked 7 976
Network devices attacked 4 563 551

Total Attacked: 13 798 555


<== BACK

                                                                                                                                                                                                                                                                                                                  .:/+++++/:.
                                                                                                                                                                                                                                                                                                               `-/oo+++++++++oo/.`
                                                                                                                                                                                                       `..                                                                                                  `./+++++++++++++++++++:.
                                                                                                                                                                                                        .:.                                                                                              `-/++++++++++++++++++++++++/:`
                                                                                                                                                                                                      `../-``..........```                                                                            `-/oo++++++++++++++++++++++++++++/:`
                                                                                                                                                                                                   `.-..-/....```......-----..`                                                                    `-/ooo+++++++++++++++++++++++++++++++oy+-
                                                                                                                                                                                                `.-.....................-:-.`..--.`                                                             `-/oooo++++++++++++++++++++++++++++++++++shys/.
                                                                                                                                                                                               `-..`--......--.------....`...`  `...`                                                        `-/ooooooo+++++++++++++++++++++++++++++++++++yyyss+-`
                                                                                                                                                                                              `:..--:-.....-/:---............-`                                                           `-/ooooooooooo+++++++++++++++++++++++++++++++++++syyssso/.
                                                                                                                                                                                              ./..-/::----:/::------.........`-.                                                       `-/oooooooooooooooo++++++++++++++++++++++++++++++++++syysoooo+-`
                                                                                                                                                                                              -/:-//:/::-:/:---...--------..```.-`                                                   ./osoooooooooooooooooooooo++++++++++++++++++++++++++++++ohhysooooo/.
                                                                                                                                                                                              `://+/:::///:::-::-........-:/:..`..-`                                              `:+osssoooooooooooooooooooooooooo+++++++++++++++++++++++++++oyhyysooooo+:.`
                                                                                                                                                                                              -:-.-++++////:/:/:-.`        ``.::-.----..``                                      ./sssssssooooooooooooooooooooooooooooo+++++++++ooooo+++++++++++++ossssooooooo+:.`
                                                                                                                                                                                              /+::/+/////::::--.....          `.-`   ``                                       -+yysssssssooooooooooooooooooooooooooooooo+++oooooooo++++++++++//////++osssooooooo+/.
                                                                                                                                                                                             `os--.```````````..--.:-           -.                                         `-oyyyyssssssssosooooossssoooooooooooooooooooooooosooooo++++++++++/////////+osssssooooss/`
                                                                                                                                                                                            `+y+                 .--/           `                                        `-oyyyyysssssssssssssssssoooooooooo+++ooooooooossssoooooo++++++++++++//////////+syyyysssssy:
                                                                                                                                                                                           `/ss-                 .:-`                                                  `:oyyyyyysssssssssssssssoossyyssooossssoo+/+oooosssssoooooo+++++++++++++/////////ohhhyso++oooo:-.``
                                                                                                                                                                                           /sss.              ```.`                                                  ./syyyyyyyssssssssssssssoossossoooooooooooso:-:osssssssooooo+++++++++++++++///////ohhysooosssssooo:---.`
                                                                                                                                                                                          -ysho`                                                                  `-+syyyyyyyyssssssssssssysooyy/--:+oooooooo++/+soo+oyssssssooooo++++++++++++++///////syoossyysoooooooo/://-.
                                                                                                                                                                                         .ssyd:                                                                 `+syyyyyyyyhysssssssssssssyooshyso+/:-:/o+/---:/+syoo/sssssssoooooo++++++++++++++/////osooyy:-/+oooooooooooo+--.
                                                                                                                                                                                        `oshdy`                                                                -syyyyyyyhhhysssysssssssssysooyysooooo+/:--::+sssoossoo+yssssoooooooo+++++++++++++////+sooyhss+--:+ooooo+++++s+::-
                                                                                                                                                                                        +yhdd+                                                                `syyyyyyyyyyssyhhhyssssssssysooyysoo+/-:+ss+--:+oooossooosooooooooooooo+++++++++++++///+soohhoosso:--++:-...-:syo::`
                                                                                                                                                                                       :syddh.`..`                                                            `sssssssssssyhhdddyssssssssysooyhs+:-:+ossoss+:-:+ssyoooosoooooooooooooo+++++++++++++//osoohyoooooo+/:.-:+ooooyho+/-
                                                                                                                                                                                      `ohdddh+osso/-.`                                                        `ossssssssyhdddddhsssssssssshyssyy+oossoooooosss+oyysossssoooooooooooooooo++++++++++++/+sooyhs+:-.-+syo-.-++ooyyo++/
                                                                                                                                                                                      /hdddmdhhhhhyssso/:-.``                                                  /sssssssyhhdddddysssssssssshdhyysyyyyysssssssyyhhysyyhhysssoooooooooooooooo++++++++++++ssssyo::/oysooos+-.-ooyyo+o+
                                                                                                                                                                                      sdddddhddddddhhyyssssooo+///:::-..``                                     .sssssssyddhhddhssssyysssssshdhyyyyyyyyyyyyyyhyyyyhhhdhssssssooooooooooooooo+++++++++++ohhhyyyyysooooooos+:+yyooss+
                                                                                                                                                                                      odhddddddddddddddhhyssssssoooooooooo+/-`                                  /ssssssyddddhhyssyhhhyyssssshddhhyyyyyyyyyyyyyhhhdddyssssssssssooooooooooooo+++++++++++sdhhyyyyyooooooooyyyyssyhy.
                                                                                                                                                                                      .sdddddddddddddddddddhhyyssoooooooooooss-                                 -yssyssshddddhssyhyyyyyyyssssyhhdddhhhhhhhhhhhddddhsssssssssssssoooooooooooooo++++++++++sddhhyyyyyyyyyyyyysyyhhy:
                                                                                                                                                                                       `+dddddddddddddhhyyssooooooooossssooooos-                              .ohdhssyysydddddsyyyyyyyyyyyysssssyyhhddddddddddhhyssssssssssssssssssoossssssyyhhyyso++++++ohddhhhhyyyyyyyyyhhhhs`
                                                                                                                                                                                         :hddddddhhyyysssssssooooooosyyyyysoosss:                           `+hddddysshhyhdddhyyyyyyyyyyyyyyyyssssssssyyyyyyssssssssssssssssyyyyyyhhhhhhhhhhhhhhhhhyso+++++oydddhhhhhhhhhhddh+o.
           -ss+/:-.`                                                                                                                                                                      `yddddddddhhhhyyyysssssoosyyyyyyyssssss:                        `:hdddddmhssydhyhddhyyyyyyyyyyyyyyyyyyyyyssssoooooooo+++osssyyyyhhhhhhhhhhhhhhhhyyyyyyyyyyyyysoooooosyhhhddddddhyo/:/+`
         `+hhho::::+o/:.`                                                                                                                                                                  `+dddddddddhhhhyyyysssssyyyyhhhhysssssy/                      -sdhddddddyhysydhhddhsssssoooosyyyyyyyyyyyyhs+/:///////+ooooooooooyhhhhhhhhhhhhyooosssssssssssso+/oyyyssoo++ooooo+++///-
         +hhhhs/::/+//+/+/:-`                                                                                                                                                                :hddddddddhhhhhyyyysssyyyhhhhhyssssssy/`                  -ohddddddddhsdhsyddhhdssyooooosooosysyyyyyyyyyssyssyso+++ooooooossoo+oyyhhhhhyyyo++oos+++++sysyyysyssyyyyysssssso--/:--..--
        :hhhhhys+//:/:::::///+/-`                                                                                                                                                             .odddddddddhhhhhhhhysyyhhhhhhhyssssssy+               `:oyhdddddddddhyhdyyddddo-:os:--:+ossssssssssssssyhyo:+oys/------:osoossoooooooo+++++oso/////ss+/+yy//sysyhyyssssso:+ossooo/.:.
       -hhhhhys++oso+/:::+:/osos/:-.                                                                                                                                                            -+syyhhhdddddddddhsyyhhhhhhhhssssssss+           `:+ssydddddddddddyyddhhdddy-..-os:..-/oss+oss+++++++syo:.-:/oss+:-:/sso///ooo++++++++osoosso+//ss+///+sy/:+ssssssssoooosso:-+yso/-
       shyhhyo/osso//++++/+s+/+:::///:-`                                                                                                                                                           `````.....:yddhsyyhhhhhhhhyssyhhhys+`     `.:osssshhdddddddddddhhddddddh/--::/oo//oo+:-.-/so:...-oyo:///++oosssosso//////oso//////+oo+/++ososyo++///+ss/://++oyysyyo+/:.`:yo./+:-
      :dyyyhs/syhhyyso////o+//:::/::::://-                                                                                                                                                                    .hyssyhhhhhhhhyysyhddhyyo-``.-/osssssyhdddddddddddddddddddddyooooooooss:-......:os/--osoossssooooooooooo++/////oso///+ooo////+oo+ooosssssssys/::+oys+::os+.``-so-.`-/:-
     `shyyyhosyyyyyyyyso++///://+/:::::/oy/                                                                                                                                                                    :yssyhhhhhhhhhyyhdddhydyssosssssssyyhdddddddddddddddddddddhyyssssssoos/---::::::ssossssooossssssssoo+++++o+////+oo++oo++//+oo++oyhyyyyysssyyyosys+/:---/so:-ss/:::::+/-
     :hyyyhyyyyyysssssoossss+::::::::+oyyh+                                                                                                                                                                     :hyyhhhhhhhhhhhhddhyyssssssssssyhhdddddddddddddddddddddhyyyyhhhhhhyooooooooooooooooooosyhhdhhhhhhhhyo++++++++oooooooooo+o++++shhhhhhyyysssssssyyssso+///oo+/:-:----//:-`
    `ohyyyyyyysssssssosyyyhyys/::::::oyyyo`                                                                                                                                                                      /dhhhhhhhhhhhhddhyhysyhsssssyhhhhhyyyyyyhhhhhhhhdddddhssyyyhhyyyyyysssssyyyyyyyyyyyyhhhddddddddddhhhhs+++++++++oooooooooooshhhhhhyyyyyyysysssyyyyyyyssooo+++syyyso/:--//--....``
    .yhyyyyysssoossyyyyyyyhhhhs/:::::/sy/`                                                                                                                                                                       `odhhhhhhhhhhhhyshhsyhhsssyhdhhyyyyyyyyyyyyyyhhhddddyyyhhddddddhhhhyyyyyyyyyyhhhhhhhhhhhddddddddddhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyssssssssyyyhhhhdddhhdddhhhyyso+//:::::::::::::--.
    :hyyyyyyssoosyyhyyyyyyyyhhy/-::/+sy/`                                                                                                                                                                         .ydhhhhhhhhhyyyyhyyhdysyhdhhyyyyyyyyyyyhhhhhdddddhyhddddddddhhddddddddddhhhhhyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyysssssssyyhhhhhhhhhhddhyo+///::::::::://+oossssyyy-
    ohyssyyyssyyyyyyyyyyyyyyyyo::::ssy/`                                                                                                                                                                           :ddhhhhhhhyyyhhhyhdhyhhdhyyyyyyyyhhhhddddddddddhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhdddddddddddddddddddhhhyyyyyyyyyyyyyssssssssssoooooooooooosssyssoo+//::::://++ooosyyyhh/
   .yyyosyyysssssyyyssyyyyyyso/:::+sy:                                                                                                                                                                              sddhhhhhyyhhhhyhdddhdhhyyyyyhhdddddddddddddhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhyyyyyyyyyyyhhhhhhyyyyssssssssssoooooooo++++++//+++++++//////+oooosssssss.
   :yyysyysssssssyyssssssssoo+:::osy:                                                                                                                                                                               .hdddhhhhdhhhhhddhddhyyyyhhhddddddddddddhyyyyyyyyyyyyyyyyyyyhhhhhdddddhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyhhhhhhhhhhhhhhhyyyyyyyyyyyyssssssooooooo+++++//////////////++++ooosssssyo`
  `oyysosssssosssysoosssssoo+:-/oss:                                                                                                                                                                                 /ddddhhdhhhhdhhhhhhyyhhhddddddddddddddhyyyyyyyyyyyyyyhhhhhhdddddddddddddddddddddddddhhhhyyyyyyyhhhhhhhhhhdddddhhhhyyyyyyyhhhhhhhhddhhhhhyyysssoooo+++++//////////:::////+++++ooos/`
  .syysosssooooosso+osssssoo/:/oss-                                                                                                                                                                                  `sddddddhhhhhhhhhhhhhddddddddddddddddmdhhhhyyyyyyyyyyyyyyyhdddddddddddddddddhhhhyyyyyyyyyyhhhddddhhhhhhhhhhhhhyyyyhhhdddddddhhhhhhhhhhhhhhhhhhhyyyssooo+++////////::::::::://////+-
  -ysysosssoooo+os+osssssso+-+oos:                                                                                                                                                                                    -hddddddhhhhhhhhhhdddddddddddddddddddddhhhhyysssssssyyhddddddddddddddhhhhyyyyyyyyyyyhhhddddhhhhhhhhhhhhhhhhhhhhdddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyysoo++////::::::::::::://+-.`
  /yssssssoo++++oo+oosssooo::sss-                                                                                                                                                                                      -sdddddhhhhhhhddddddddddddddddddddddddddhhysyyyyyyhdddddddddddhhhyyyyyyyyyyhhhhhdddddhhhhhhhhhhhhhhhhhhhhhddddhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyysoo+/////:::::::::::::::-.``
  oysssoooo+/+//+/+oosooos+-oss/                                                                                                                                                                                         -ohdddhhddddddddddddddddddddddddddmdhhyyyhhyyhhdddddddhhhyyyyyyyyyyyhhhhddddddhhhhhhhhhhhhhhhhhhhhdddddhhhhhhyyyyyyssssssssooooooooossssssssssssssssssssssssoooo+//::::::::::::::-:::::-.`
  yssss/+o+///////+ooooooo:+ss+`                                                                                                                                                                                           `-::+osyhhhhhdddddddddhhhhhhhddddhhhhhhyyhdddhhhyyyyysssyyyyyyhhhhhhhddhhhhhhhhhhhhhhhhhyhyyyyyssssssssoooooooooooooooooooooooossssssssssssssssssssssssoooo++++++++//:-------::::::--::::-.`
  yssso//++/////:/+oooooo+/sss.                                                                                                                                                                                                   ```..-----::::::---:/shhhhddhhyyhddhhyyyssssssyyyyyhhhhhyyhhhhhhhhhhhhyyyssssssoooooooooooooooooooooooooooooooooooosssssssoooooooo+++++++++++////////////////++//::--.....--::::--:::-.``
  yssso//+++/++/:++oooooo+osy/                                                                                                                                                                                                                      .+yhhdddhyyyhhhyyssyyssyyyyyyyyyyyyyyhhhdhhhhhyyssoooooooooooooooooooooooooooooooooooooooooooooooooooooosssssyyyyyyyyyyyssssoooo+////:::::::::///::-----.``..---:::-:::-``
  yssso//++++++////ososso+sso`                                                                                                                                                                                                                     `sddddhhyyyyyysssssssyyyyyyyyyyyyyhhdddhhyysoooo+oooooooooooooooooooooooooooooooooooooooooosssyyyhhdddmmmmNmmmmmmmmmmmmmmmmmmmmmmmdyyyysssooo++///:::-----.```````..-::::::-.`
  ysss+//+//++o++//ooossooss-                                                                                                                                                                                                                      +dddhyyyyssssssssssyyyyyyyyyyyyhhhhhysooo++++ooooooooooooooooooooooooooooooooooooosssyhhddmmmmmmmmmmmmmmmmmNNmmmmmmmmmmmmmmmmmmmmmmmhyyyyyyyyyyyyysssoo+/:-....```````..--::::-.`
  yssso//++++++o+:/ooooooss+                                                                                                                                                                                                                     `-yhyyyssyyysssssssssssyyyyyyhhhyysooo++++++oooooooooooooooooooooooooooooooossyyhddmmmmmmmNmmmmmmmmmmmmmmmmmmmNNmmmmmmmmmmmmmmmmNmmmmmmhyyyyyyyyyyyyyyyyyyyyyssoo+//:--.--------::::.`
  yssso//+o++++o+:/ooooooss.                      `````..--..``````                                                                                                                                                                           `-+oyyyyyyyyyyyyyyyyyyyysyyyyyyysooooooooooooooooooooooooooooooooooooossyyhhdmmmmmmmmmmmmmhymmmmmmmmmmmmmmmmmmmmmmNmmmmmmmmmmmmmmmmmNmmmmmmdyyyyyyyyyyyyyyyyyyyyysyyyyyyysso+/::------::/:-`
  ysso++/+o++++o/:+oooooss+                 `.-/+osyso++++oosysssssso+/-.`                                                                                                                                                                `./syhhhhhhhhhhyyyyyyyyyyyyyyyysoooooooooooooooooooooooooo+++++++osyhhdmmmmmmmmmmmmmmmmmmmmmd++mmmmmmmmmmmmmmmmmmmmmmmmNmmmmmmmmmmmmmmmmNNmmmmmddhyyyyyyyyyyyyyyyyyyyyyyyyyssyyyyyyso++/:-----:/:-`
  yooo++/+oo++++//+oooooss-            `.:+syhyysshy++::/:/++o+oo+ossoosyso+:`                                                                                                                                                        `./oyhhhhhhhhhhhhhhhhyyyyyyyssooooooooooooooooooooooo++++/////+osyhdmmmmmmmmmmmmmmmmmmmmmmmmmmmy/:hmmmmmmmmmmmmmmmmmmmmmmmmmNmmmmmmmmmmmmmmmmNNmmmmmddhyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyys++/:---::-.
  soo++/:/oo++++//++oooooo.         `-+yyysoosssssyyssoo++++/::-:/++::/+++++ss+`                                                                                                                                                  `-/oyhhhhhhhhhhhhhhhhhhhhyyyso+//+ooooooooooooooooo++///////+oshddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd+:-smmmmmmmmmmmmmmmmmmmmmmmmmmmNmmmmmmmmmmmmmmmmNNmmmmmmdhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyso+/:::::-`
  +so++/:/++++++/+++oooooo`       -+sys++oosssssosyso+//://++///:://://:/+oo++ss:`                                                                                                                                          `.-/oyyhhhhhhhhhhhhhhhhhhhhhhyso+/://ooooooooooooooo++//////+osyhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmy/::/mmmmmmmmmmmmmmmmmmmmmmmmmmmmmNmmmmmmmmmmmmmmmmNNmmmmmmddhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyhyysso+/:/:.
  :so++/::+++/++/+++ooooo+`     :oss+/+osssssoo+ssso+++ooooo++/++ooo+/::+ooooo+oyo`                                                                                                                                   `.-/+oyhhhhhhhhhhhhhhhhhhhhhhhyso+/::::/+oooooooooooo++//////+syhhddddmmdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms::::sNmmmmmmmmmmmmmmmNNmmmmmmmmmmmNmmmmmmmmmmmmmmmNmNmmmmmmmdhddhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyhhyysso+//-`
  .o++//::+//:://++++oooo+    -oss+:+ossssooo+++osso++///////////++++++++ooooooooss-                                                                                                                           `.-:/oosyyhhhhhhhhhhhhhhhhhhhhhhhso+/::::::/+ooosooosoo++//////+oyhddddddddddmddmmddmmmmmmmmmmmmmmmmmmmmmmmmmmmmd+::::/dmmmmmmmmmmmmmmmmNNmmmmmmmmmmmmNmmmmmmmmmmmmmmmNNNmmmmmmmmdhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyhyyysso+/.
  `++////:++/::/+++/+++oo+  `/sso:/osssoooooosyyysso+//:---...-::/+++++++++oooooossy-                                                                                                                  ``.-:::/+oossyhhhhhhhhhhhhhhhhhhhhyysso/:::::::::/+osssooo++///////+syhddddddddddddddddmmddddmmmmmdmmmmmmmmNmmmmmmmmmmmh/:::::ommmmmmmmmmmmmmmmmmNmmmmmmmmmmmmNNmmmmmmmmmmmmmmmNNNmmmmmmmmmdhhddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyysso:`
   -o+++//+++:::+/+//+++o/ .+so//+ossoooossyyyyo/-``               `.:/+++/+ooooosssy-                                                                                                          ``.--::::////++++ooooooossssssssssssoooo+++//::::::::::++++//////////+osyhhhddddddddddddddddddmdhdddddmmdmmmmmmmmmmmmmmmmNmmms:::::::hmmmmmmmmmmmmmmmmmydmmmmmdddddddmNmddhhhhdmddddddmmNmmmmmmmmmmddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyhhhhhhhhhhhhhyyys+.
   `+++++++++/:://++//+++/`+o+:/ooooooosyyyys/.                       `./+//+ooooosyys.                                                                                                    `.-:///////++ooooooooooooooo++++++++++++++++////:::::::::::///////////+syyhhhhhdddddddddddddddddddmdhhhddddmddmmdmmmmmmmmmmmmNmmmo::::::::dmmmmmmmmmmmmmmddd+ydddddhddddhhdmmddhhhhddddddddhmNmmddmmmmmmdhhhhddddddddhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyhhhhhhhhhyyo-`
    -o+++++/+//////++/++++////+oooooosssss+-`                            -///osoooosyhy`                                                                                               `--://:::::/ooooooooooooooo++++++++++++++++//////:::::::::::::::::///+osyyhyyyyyhhddhhhddhhhhddddddmddmdddddddmmdmmmdmmmmmmmmmmmNmmd+:::::::-+mmmmmmmddhhhhddhdd/sdddmdddddddhdmNmhhhhhddddddddhdmNmddhddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyysssssssyyyyyyhhhhhys:`
    `/+////////////////++/:-/+oooooossss+-                                `/++osoossyyho`                                                                                             oyssoo++///:::///+++++++++++++++////////:::::::::::::::::::::::/+oosyyyyyyyyyyyyhddhhhdmdhhhhhdddddmmdmdddddddmmmmmmmmmmmmmmmmmmNNmd/::::::::-oddmddhhddhhhdddddh:+dddhdddddddhhdmNdyhhhdddddddddhmmdhdhhdddhhyhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyysysysssssssssssssyyyhhhhy+.
     .++////::://///////++:/+++oo+ossso-                                   `/++ssossyyhh/                                                                                             :syyyyssssssssoooooo++++++/////::::::::::::::::::::::::///++ossyyyyyyyyyyyyyyyhhddhhhdmdhhhhhddddddmmdddddddddmmmmmmmmNmmmmmmmmmNNh/:::::::::-odhhhhhhhhhhhdddddh::hhhohdddddddhdmNmsyhhddddddddhydmdshdhhhddhyyhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyssssooooosssssssssoooooooossyhhyo-
      -o+//::::://///////+++++++++sss:`                                     `++ssssyyyyyh.                                                                                             `:osyyyyssssssssssssssssssssssssssssoooooooooooooooossssssyyyyyyyyyyyyyyyyyyhdddhhhhhdhhhhhdddddddmdddddmmdddmmmmmmmmmmmmmmmmmNmh/::::::::::-ohhyhhhhhhhyhhddhhy::shh+shhhhdddhhdmmyoshddddddddsoydyoohhhyyhhhoyhhhhhhhhhhhhhhhhhhhhhhyyyyyysooo++++++oooooooooooooooooooooossyyo-
       /oo++:::::///////////+++++oso:                                        -+sysyyyyyyh+                          `                                                                     ./osyysssssssssssssssssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyddhdhhhhhhhhhhhhddddddmmdddddmmdddmmmmmmmNmmmdddddhdy+//////:::::-ohyshhhhhhhyyhhdyys::/yy+/yyhyhhhhyydmdo+yhhhddhys++ohooooyyyyhhhsohhhhhhhhhhhhhhhhhhhhhhyyyyso+////////////++++++++ooooooooooo++oosyo-`
       `/+oo+:---/////////////+++oo/`           ```````````````              `/syyyyyyyyhs                        .-/`                                                                       ./oyyssssssssssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyydhhdhhhhhhyhhhhhdddddddmmddddmmmmdmmmmmmmmdhhhhhhhsyh/::::::/++o+/:+hsohyyyyyssyssyyyo:::syo:oyyyyysoooydds++ooohho+++++hy+o+ssyshyyhoshhhhhhhhhhhhhhhhhhhhhhyys+//:::::::::::::::///////++++++ooooo+++ooso:`
        `+++++:--://:///////////o//.          `-/:::///::-`   ````            :shhyyyyyyyy.                    `.-:/-                                                                          `./osossssssssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyhdhydhhhhyhhyhhhhhdhdddddmmddddmmmdddddhmmmmdhhhhhho/h/::::::::::::/+ody+yyyyso++++++syo:::/yo::syyso++++ohdy+++++shs+++++ydsssoyooohsys+yhhhhhhhhhhhhhhhhhhhhyyo//:::::::::::::::---:::::::://///+++++++++++++:.
         .+++++:--:::://///////+/:/         `-+++/++//::-.      ``.`          :ydhyyyyyyyh.                `````.-.-`                                                                             `-/++/++oossssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyydhyhdyhhyyhyyhhhhddddddddmmdddddddhyyhhhmmmmhyhhhdyshhssssyso+/:::::::yy+yssss+/////+oso::::os::/yyhyssosshdho++++ohhoooo+sdddmoyso+yhss+shhhhhhhhhhhhhhhhhhhys+/:::::::::::::::-------------::::::://///+++++++++-
          .++++/:--::::::://///++//        `/o++///::----.``   `--`.`         -hdhyyyyyyyh.             ``````````-.                                                                                 .:///////++oosssssssssssssssssssssssssssssyyyyyyyyyyyyyyyhyyyhhhhyyhyyhhhhddddddddmmdhyyhddddhyhhhmmmmhhdmNNNMMNNNNNNNNNmhs/:://oy:osooo+++//++/s+:::/oho//+yyoyyyysydhs+++oshhhyhhoodhmNdyho+shys++yhhhhhhhhhhhhhhhhhhs/:::::::::::::::-----------------------::::://///++++/.
           .+++++:--:::::://///++//       `/o++/:/::::::--.`..--:::.:.        -hdhyyyyyyyh.          `...```.---:/:                                                                                    `-///////////++ooossssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyhhhyyyhyyhhhdddhdddddmmdyyydddddhyhdhmmNNNMMMNmNNmmmmmmmmmNdmNmy/::/s:+o++++++++++:oo:///:o:..-/s++yyyyydhy+oyhhyyyhddoodhhmmhds++hhyo+shhhhhhhhhhhhhhhhys/:::::::::::::::--------------------:::::-----::::////++/`
            ./++++:--:::://////+o//`      -ooo+:::::::::::.`.:::/+/-./        -hdhyyyyyyyy.       `.-..```.---:::/.````````.`..                                                                           .:///////////////+++ooosssssssssssssyyyyyyyyyyyyyyyyyyyyhdyyyhhyhhhhdhhydmdhdmmhyyhdddddhyhdhmmNMMMMy/hmmmmmmmmmmdyy+smdo/--:-:o++++++s+++-/o::---//:::+os++syyyddhoohhhs/-:/o+ohdsdNmdho+shhh++hhhhhhhhhhhhhhhyo/:::::::::::::::----------------:::--.....--::::::::::://+.
             `:++++/-.-:///////+o++.      +sooo//////////:::::::://:.:`       /yhhsyyyyyyy`      /soo+//-:+//++++/.``````````.`                                                                             .:////////////////////++oosssssssssyyyyyyyyyyyyyyyyyyhdyyyyhyyhhhhyhyydmdhdmmyyyhddddddhhdhdmmmNMm.-dmmmmmmmmdo/``..-+/....`-::://////++--+-.:+ymNNmNNNNmmmmmdddhyshhhhhs/-``.:+oyNmddy+ohhhy+shhhhhhhhhhhyyy+/::::::::::::::------------::::-.``            ``.----:::-`
               -/++++/:--:::://+oo+:      /sooo+/////////:::::--::::.:`       +yhysyyyyyys       oyyyyyoosyso+++ys/-......-.`                                                                                 `://///////////////////+++oosssssssyyyyyyyyyyyyyyyyhhyyyyhhhhhhyyhyyhmdhdmmyyhhddhdddhhdhhmmmddd.`hhhdhmdmmdyyso: ``.````````......`.-..--omNNNmmmmmmmo/+hNMMmhyyhyyyyhhhs/.```-shdddo+hhhhsohhhhhhhhhhyyy+/::::::::::::::--------:::::-.`
                `:++++++:...-:::++++-     `+oooo+////////:::-----...--       .syhysyyyyyyo       syyysoosyyhyooshhhs/:-----`                                                                                    .://///////////////////+++ooossssssyyyyyyyyyyyyyyyyyyyhhyyyhyyyhyyhmddmmmyhmhhhhhhhhhhhhddddo/:`//+oossysosydh-```````````````````````-smNNmmmmdyssho---/dMMmhyyyyyyyhhdyos/-``.:+ys+yhhhyoyhhhhhhhhyys/::::::::::::::::---::::::.``
                  ./++++++:-.-:+ooooo.     .+oooo+++//////::--.`````-`       +yyhsssyyyyy/      `yyysossyhhhhsohdhhy/::-:-`                                                                                       .:////////////////////++++oooossssyyyyyyyyyyyyyyyyyyhssydyyyyhyyhmmdmmdydmhhhhhhhhhhhyhdhho:-..sho/.../ooyd-````````````````````````:+sdddmmdy:.`..```.ymmhssooosssyyhyoddho-.```-:oyyyyssyyyyyyssso/:::::-------------:::-.`
                    -/++++++++++ooooo.      `/o++++//////:-..`    `.`       -hyhyo+oossss-      `hhyosyyhhhhhyyhhhhy/::+oo+:-`                                                                                      .:////////////////////++++oooossssyyyyyyyyyyyyyyyyysydhyyyhhyhhmmdmmdhmmdhhhhhhhyyyyyhdyy:````/yo:-:osy+.``````````````````````````.+:/yhhdy//-.    .:.-------::/+oso+syys+s+-`  `.-:+oooo:::--..`:/::::::::::::::::-.`
                      .:++++++++++/:`         -///::---...`````````        .ohhhoo//+osss`      .hysyhhhhhhhhhddhhhs:/os+:/++/.                                                                                       .:////////////////////++++oooosssssyyyyyyyyyyyyyysdhyyyhdhhhhdmdmmdhmmdhhhhyyyyyyssyhyys````..:+syys-..``````````````````````````.y/:-/+++/os.   `-../++ooooooshhhyyhdmdsmmdy/.````.shhy+:----.``.--..//:::::-.`
                        `-/++++/-.             `.----.....```....`         +hhhyo+///+oss/.`    -yyhhhhhhhhhhhhhhhhooss/::-.`                                                                                           ./////////////////////+++ooooosssssyyyyyyyyyyyhhhyyhhhdhddhdmmmmddmmmdhhyyyyssssssy+oy+.`....-----....``````````````````````````so`  `-:o+.   ``.-+hhyysssssymddhdhhmmyhddddo+:..`:yyhhysssss:.``.-..//-.`
                           `..``                  ``..-------.``          .yhhhho/://++++++/-.` :yhdddddhhhhhhhhhdhys+-.`                                                                                                 ./////////////////////+++ooooosssssyyyyyyyyhdhyhhhdddhhmhhdmmmdmmmmmdhyyssssssssso:/so-....-----....``````````````````.```````-s+::++/.`  ````.oddhyyssssshdhdddhhdmhdhdddsyyo/:oyyyyhhhhhhhy:.-```::oo/.`
                                                                          :hyyyyy+//+//////+++/+sys+//ossyyhhhhhs+:.`                                                                                                       .:////////////////////+++ooooosssssyyyyyhhyhhddddhhdhddhdmmmmmmmmmmdhyssssooossy/--+o:...........`````````````````.....``````.:+oo-````````.sddddhyysssydhhddhhhhdddhdddydyyyydyyyyyyyyhhhhs-````+o/sys+:`
                                                                          `oyyyyyyo+++//////++++/+o/.`    ``.--.       ```                                                                                                    `-:///////////////////+++ooooossssyyhhhhddddhhhyhdhhdhddmmmNmmmmmmmdysoooooosss:.`.--........```````````````````...-.``````...----....``-yddddmhs++/::-------:::///++o+o+shyyyyyyyyyyddh/`````.sddhyyso/
                                                                           ./syyyyyysso+//////++-+++++/:.`           .-.`-.                                                                                                       `.-:////////////////++++oooossyhhdddhhyyyhhyhddhhdhddmmmmmmmmmmmmdyooooossss-`````````````````````````````````..```````..-----....`:hdddmmmy:-----....````````````````:syyyyyyyyyddy-....`:hhddhhyso:---.
                                                                             `./+ssssyysso+///+::o+ooo++++/-.`     `-.````-.                                                                                                          ``.-://////////////+++oosyyyyyyyyyyyyhhyyddhhdhddmNmmmmmmmmmmmmdhysssssy+.``````````````````````````````````````````...--.....:dddddmmdhyyyydhhhdyysssoo/:--...````+yyyyyyyyhdds-------/yyyhhddysyyso/.`
                                                                                 `-/+ossyyysso+/ooo++oooooooo+/:`` --.`.:/://``.---`                                  `````                                                                 `..-:/+++++++//++++oooosssyyyyyhhhyhmdhhhhdmmmmmmmmmmmmmmmmmmmmddddys+:::-``````````````````````````````````````......`:hdddddmdddyyydhhhddhhhhddddhyyyss+:::yyyyyyyyyhdd/------``-syyydddohdhyoo+:.
                                                                                     `-/osssooyyysssssssoossooooo+/+::ossso+/oo+////`                         `..--::::::::::.`                                                                    `..-://++o++++ooooossyyhdhhhhmhhhhdmmmmmmmmmmmmmmmmmmmmmmmmmmms++/:+.``````````````````````````````````````````:hdddddmmhddyyhssssyyshhhhhhddhhyhhds//oyhhyyyyyhhd/------.``oyyyhddosmdhyys+++`
                                                                                         `-/osyyyyyyyyyyyyysssooooosohhysssso+ysss+/+//-                `.-::::::-:::::::::::::-`                                                                           ``..-::////++++hhhhyyhsyydmmmmmmmmmmmmmmmmmmmmmmmmmmh++/-/o.````````````.-::----`````````````````````+hddddddmhhddhho++++sshddhhhhhddyyhhhy.   .:oyhyyyhdy/-----.`/yyyyyddyymddhyys/+-
                                                                                             `-/oyyyyyyyyyyyyyyyysoydhhysssssssysssso+:////:`      `.--:::------:::::::::-:::::://:.                                                                                       hhhsosyo+soooyhmmmmmmmmmmmmmmmmmmmmmdo++-:oo-``````````./oo+ooooos:`````````````````-ydddddhdddhhmdho+++++ydmmdhhy/-`/+.ohyhy`     `:shhhdhhysooosyhyyyyhddhddhyhyyy++.
                                                                                                 `-+oyyyyyyyhhhyyyhdhhhhssssssssssssso+::::/-  ``.--------------:::::::/++ooooooo++oo:.                                                                       `-/oo/.`     ydddddddmmhyo++oydmmmmmmmmmmmmmmmmmmh+++-oos:`````````-/:::::://+o+```````````````-shhdhdhhddhhhhmds+++++odmmmmhh/    :- -shh+        -shdhhhhhhhhhdhhhddddddhyyyyyyso.
                                                                                                     `:/syyyyhhhhhddhhhhyssssssssssssoo+:::/:.-....-------------::/+ooooooooooooooooooo+-`                                                                 `-+syhhhhhyo:`.:hddddmmmmmmmmhs++ohmmmmmmmmmmmmmmmmds++:/s+so`````````/::::::::::+-`````````````:shhhddhhhhhhhhhdNs+++++/hmmmmmdh-     .  `/yy-         ./osyhhhhhhhddddddhhyyyyyyyyy+--`
                                                                                                         `-+syyhhhhhhhhhyssssssssssssooo+/:--......----------:/+oooooooooooooooooooooooooo/.  `-:/+++/.`       ```.-.`           `                      `:oyyyyyhhhhhyyhhdmddmmmmmmmmmmmmmy+++ymmmmmmmmmmmmmdmy+++-so+sd+.```````.::::::::::-```````````:oyhhhhhmdhhhhhhhhhmd+++++/smmmmmmmh`          -yo`            ``./hdddddhhyyyyyyyyyyyyy.``-.
                                                                                                          .-::oyhhhhhhhhhyssssssssssssso/-.........-------:/+ooooooooooooooooooooooooooooooo++ooooooooso/------------:-`   `.://++/:`   ``....``````.-/oyyyyyyhhhhhhhhhyyyhdmmmmmmmmmmmmmmmdo++ymmmmddmmddddddo++:/y++odhs-`````````.---...``````````-ohmdhhhhhdmmhhhhhhhhdNy++++/+dmmmmmmNy            -s`               `ydddhhhhhhhhyyyyyyys:````.:.
                                                                                                         .-../yyyhhhhhhhhhyssssssssss+-...-------.....-:+ooooooooooooooooooooooooooooooooooooooooooooooooossoo+///:-...--::+/////////+//////+++ooooossyyyyyyyhhhhhhhhhhhyyyyhdmmmmmmmmmmmmmmms++ymmmdhdddddddy+++:s+++omddh+-.```````````````````.:sdmmmmmdhhhhdmmdhhhhhhhmdo+++/:hmmmmmmmmm/            -`                .+shhhhhhhhhhyyyys/.```````-:.
                                                                                                          .--oyyyhhhhhhhhhhhhyyyyys+-.....--:::::-..-:+ooooooooooooooooooooooooooooooooooooooooooooooooooooosssyso+//:...:/++////////+ssooo+++/////++++ooyyyhhhhhhhhhhhhyyyyyyhdmmmmmmmmmmmmmms++ydmdhhhddddho++:oo++++ddddhs::-.`````````````./sdmmmmmmmmmdhhhmmmmdhhhhhhmy+++/-smmmmmmmmmmh-                                `:ohhhhhhhhso:.```````````-:`                       `                 ``````...`
                                                                                                            `-+syhhhhhhhhhhhhhhhy+-........--:::::/+oooooooooooooooooooooooooooooooooooooooooooooooooooooooooosyyyyso+/-...:+o++//++//+oyssssssoo+++++++++oyyhhhhhhhhhhhyyyyyyyyhdmmmmmmmmmmmmms++ydhyyyddddo++:/do++++ymddhhs:::::.```````./sdmmmmmmmmmmmmmhhdmmmmmhhhhhmmo+++-+dmmmmmmmmmmmy                                   -+ss++o/:-``````````````.:-`     ``.--:://+++++ooooo++++++++++++++oooosssyy+-
                                                                                                               ./+syhhdhhhhhhhh+-.............--/osssssssssssoooooooooosssssoooooooooooooooooooooooooooooosssyyyyyyyyss+/-...:oo+++oo+++oyyssssssssso+++++++oshhhhhhhhhhhyyyyyyyyyhhdmmmmmmmmmmms++shyyyhdds++::dms++++sdddhhhy/::://:-../sdmmmmmmmmmmmmmmmmhhmmmmmmdhhhdmh+++::hmmmmmmmmmmmmm/                                        `-::-.``````````````.:::/++oossssssssssssssssssssssssssssssssssyyyyo-/.
                                                                                                                   ``.-/+syyhho.............../oooooooooooooooosssssssssssssssoooooooooooooosooooooooosssyyyyyyyyyyyyyyys+:..../oo++oso+++yysssssssssssoo++ooooyhhhhhhhhhyyyyyyyyyyyyhdmmmmmmmmmms++oyyyhdy++:-ymmd++++odhhhyyyy/::::::/ommmmmmmmmmmmmmmmmmmdmmmmmmmmhhhmms++:.smmmmmmmmmmmmmmd/                                         `-/:-.``````````````./ssssssssssssssssssssssssssssssssssssyyyyyho--:
                                                                                                                         ```.o-.............-+ooooooooooossssssssssssssssssssssosssssssssssssooooossyyyyyyyyyyssssssssyyyys+-...-/so+sys+++syyyyysssssyyyssoooooshhhhhhhhhyyyyyyyyyyyyyhdmmmmmmmmdo+/+yyhho/-.smmmmo++++dhhyyyooy:::::::ydmdhdmmmmmmmmmmmmmmmmmmmmmmmdhdmh++/./mmmmmmmmmmmmmmmmm+                                          .::--.``````````````./syyssssssssssssssssssssssssssssyyyyyyhho--/`
                                                                                                                            `+-............-ooooooosssssssssssssssssssssssssssssssssyyysssoooossyyyyyyyyysssoooooooooosssyyys/-...-osoyyso++syyyyyyssoossyyyssooosyhhhhdhhhyyyyyyyyyyyyhhhdmmmmmmmdo+-oyho:-.+mmmmNs++++dhyyyss:oo:::::+ddddy/+shdmmmmmmmmmNmmmmmmmmmddmms+/-:hmmmmmmmmmmmmmmmmmmo````                                      `-/:-.```````````````./yhhyyysssssssssssssssssssssyyyyyhhhhs:-/:
                                                                                                                             -:............/sosssssssssssssssssssssssssssssssssssyyssssoooossyyyyyyysssoooooooooooooooooossyyyo/-...:oyyyyso+syyyyyyysoooossyyyssosyhhdddddhyyyyyyyyyyhhhhhhdmmmmmmh+--o+-../dmmmmmy++++ydhsssy+/s/:::-ydddddo:::/+oydmmmmmmNmmmmmmmmmmmho+-.ommmmmmmmmmmmmmmmmmmmhhhy/`                                      `:/:-..``````````````.+yhhhhhyyyssssssssssssssyyyyyhhhhhy:::/.
                                                                                                                             `/-.......--::ossssssssssssssssssssssssssssssssssyyyssssoosssyyyysssoooooooooooooooossssssssssssyyyo:-..-+hyyysoosyyyyyyyysoooooossyysssyhdddddhyyyyyhhhhhhhhhhhhdmmmmms/.....:dmmmmmmh++++sddhssydhhhysssdddddds::::::::/oydmmmmmmmmmmmmmms+/./dmmmmmmNmmmmmmmmmmmmmmmmdhs:---:-..``                              -o/---.``````````````./shhhhhhhhyyyyyyyyyyyyyyhhhhhhhh+:::/`
                                                                                                                              ./-..--://///+yyyyyyyysssssssssssssssssssssssyyysssssssssysssssossssssssssssssssssssssssssssssssyyys+:-../yhyyyoosyyyyyyyyysoooooossssssyhdddddhhyhhhhhhhhhhhhhhhhdmmmd+-...-ymmmmmmmd++++odddhsydddddddddddddd+::::::::::::/shdmmmmmmmmmd++--ymmmmmmmmmmmmmmmmmmmmmmmmmmdhhddhhhhhy+:-...``..-:.                 .yh+----..`````````````.:shhhhhhhhhhhyyyyyhhhhhhhhhhho:::+-
                                                                                                                               .::://///////syyyyyyyyyysssssssssssssssyyyyssssssssssssssssyyyyyyyysssssssssssssssssssssssssssssyyhyo/-../oyyyysoyhyyyyyyyyysssssssssssssyhddddhhhhhhhhhhhhhhhhhhhhdmmh:..-smmmmmmmmho++++hdddhhdddddddddddddy::::::::::::::::/sdmmmmmmms+/.+mmmmmmmmmmmddddddddddddddddddhhhddhhhhhhhyyy+----.-:--:/:`          .yhhy:-----..````````````./oyhhhhhhhhhhhhhhhhhhhhhhhs::::+`
                                                                                                                          ``.--:/s+/////::::/syyyyyyyyyyssssssyyyyyyyyysssssssyyyyyyyyyyyyyssssssssssssssssssssssssssssssssssssssyhhy+:.-/+syyysshhyyyyyyyyyyysssssssssssyyhdddhhhhhhhhhhhhhhhhhhhhhdmo..+mmmmmmmmmdo++++ydddddddddddddddddh/::::::::::::::::::/sdmmmmh++--hmmmmmmmmmmmddddddddddddddddddhhhhhddhhhhhhhhy/-/-..-+yyyso/.`   `````shhhy+-------...```````..--:+yhhhhhhhhhhhhhhhhhhhhy/:::/:
  .                                                                                                                   `.:+osyyyyyyys//::::::::oyyyyyyyyyyyyyyyyyyyyyysssssyyyyyyyyyyyyyyssssyyyssssssssssssssssssssssssssssssssssyyhhhs/-:/+oyyyssddhyyyyyhhhhyyysssssssyyyyhdddhhhhhhhhhhhhhhhhhhhhddh+:dmmmmmmmmmdo++++syyhhddddddddddddh/:::::::::::::://:::::/ymmms+/.+mmmmmmmmmmmmddddddddddddddddddhhhhhhhhhhhhhhhhy+//-..-ydhsssso+/+oooo/yhhhhho:-------------.-------:+yhhhhhhhhhhhhhhhhhho::::/`
  s/`                                                                                                              `:osyhyyyyyyyyyyyyo/:::::::::+syyyyyyyyyyyyyyyysssssyhdhhhhdddddddddddddddddddddddddhhhhhyyyyyyyyyssssssyyyyyyyhhhhhho-:+++oyyyyddhhhhhhhhhhhhyyyyyyyyyyyyyhdddhhhhhhhhhhhhhhhhhhdddhhmmmmmmmmmmdo++++s+://+oossssyysso/::::::::::::///:::::::::oddo+/.smmmmmmmmmmmmdddddddddddddddddddhhhhhhhdhyyyhhhhys+/...:ydyssssssysssssyysooooo+++///::----------------/shhhhhhhhhhhhhys/::::::
  ooo:`                                                                                                         `:oyyyyyyyyyyyyyyyyyyyyo/:::::::::/+osyyyyyyyyyssssssyhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddhhhhyyyyyyyyyyyyhhhhhhhhhhy/:/+++syyyddhhhhhhhhhhhhhyyyyyyyyyyyyyhdddhhhhhhhhhhhhhhhhhhdmdddmmmmmmmmd+++++o+-:::::::::://::::::::::::/:::::::::::::::sho+/-hmmmmmmmmmmmmdddddddddddddddddddddddddhddhyyyyyyyhso-...+hhsssssyhsssssssso//////////++++++//:-----------/shhhhhhyyo+/--::::::.
  ooooo-`                                                                                                    `-+yyyyyyyyyyyyyyyyyyyyyyyyyo/:::------::/+ossyysssssyyhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddhhhyyyyyyyyyyyyyyhhhhhs++++++yyyddhhhhhhhhhhhhhhyyyyyyyyyyyyyhhdddhhhhhhhhhhhhhhhhdmmdhdmmmmmmh+++++o/-:::::::::::/:::::::::::+:::::::::::::::+oso+/:mmmmmmmmmmmmNdddddddddddddddddddddddddhhdhyyyyyyyyds/..-.yhssssydhssssssssss+//////////////++++++/:---::///o++/::--...-::::::/.
  oooooo+:`                                                                                                `-oyyyyyyyyyyyyyyyyyyyyyyyyyyyyys+/::--------::///++osyhhhhhhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddhhhyyyyyyyyyyhhhhhs+++++oyydmdhhhhhhhhhhhhhhhyyyyyyyyyyyyhhdddhhhhhhhhhhhhhhhhmmdhhdmmmmy+++++o/::::::::::::::::::::::::::::::::::::::::s++s+++mmmmmmmmmmmmmdddddddddddddddddddddddddhhddyyyyyyyydhs--:./hsssyhdysssssssssys+//////////////////+++++oo+--...........-::::::/o`
  ooooooooo/`                                                                                            `:syssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyso+/::::::////++osyhhhhhhhhhhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmddhhhhyyyyyhhhhhs+++++sydmmddhhhhhhhhhhhhhhyyyyyyyyyyyyyhhddddhhhhhhhhhhhhhmmmdhhdmms+++++o::::::::::::::::::::::::::::::::::::::::oo++oo+smmmmmmmmmmmmmddddddddddddddddddddddddddhddyyyyyyyyhdy:-/.-yssyhddysssssssssyhs////////////////////+++++-...........--::::::+y/
  ooooooooooo+-`                                                                                       `:sysssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddhhhhhhhhhyo++++shmmmmddhhhhhhhhhhhhhyyhhyyyyyyyyyyhhhddddddddddddmmmmmddhddsoo++os::::::::::::::::://////////:::::::::://os++++s+ymmmmmmmmmmmmmmdddddddddddddddddddddddddyddhyyyyhhyhdd+-/-.syhdddhsssssssyyyhhhs/////////////////////++/...........---:::::osy`
  oooooooooo++oo/.                                                                                    :osssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmddmdddyo++++ohddmmmdddddhhhhhhdhhhyhhhhhyyyyyyyyyhhhhhddddddddddddddhh+++++soo+++////////::::::::::::::::::::::::::oy+/+++soymmmmmmmmmmmmdmmdddddddddddddddddddddddhyddhyyyyhdhhddo:/:.odhddhysssssyhyyhhhhhs++/////////////////////:........-----:::+ssss
  ooooooooooo++++o+-`                                                                               .+ssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyo++++oyhhhhddddddddddddddhhhhhhhhhhyyyyyyyyyyyyyhhhhhhhhhhhds++++oy+++oo+/::::::::::-------------------::+s+::/++yssdmmmmmmmmmmmdmmdddddddddddddddddddddddhyhdhyyyyhddhddy//:.+hddhhsssyhdhyyhhhhhhhhhyyysso+++/////////////-......----::/+osssy/
  oooooooooooo+++++oo+.`                                                                          `:sssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyo++++osyhhhhhhhhhhddddddddhhhhhhhhhhhhhhhhhhhhdddddhhhdmmy+++++yo++++/+o+/:://///////::::::---------:/os/--:/+sdhshmmmmmmmmmmmhmmdddddddddddddddddddddddhyhdhyyyyhddhddh///./hddhyyyhddhyhhhhhhyyyyyhddddhhhhhyysooo+++++++-....--:+oosssssssy.
  ooooooooooooo++++//+oo/.                                                                       .+sssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmho+++++oyhhhhhhhhhhhhhhhhhddhhhhhdddddddddddddhhhhdmmmmh+//++oy++++/-.-+oo::--...`````````        .:oo/..-:/sddhysdmmmmmmmmmdydmmddddddddddddddddddddddyyhdyyyyydddhddy///-+dhhyhhddhhyyhhyyhhhhhhhhhddddhhhhhhhhhhhyyssoo+:::+osssssyyyyssss`
  oooooooooooooo+++++///+oo/.                                                                   -ossssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmhs+++//+syhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddmmmmmmh+////+yo+++/:-...-/oo/--....`````````````.:+o+-...-:odhhdhyymmmmmmmmmdyhmmmddddddddddddddddddddhyyhhyyyyhddddhds///-+hhhhddhhhhhhhhhhhhhhhyyhhhhhddhhhhhhhhhhhhhhhhhyyyyyyyyyyhhhhhys/
  ooooooooooooooo+++++/////+oo/-`                                                             `/ssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdyo+////+shhhhhhhhhhhhhhhhhhhhhhhhhhhdddddddddmmmy/////+hdyso++:-.....-:+oo/:--...````````.-:oo/-....-ohhhyhdh+ymmmmmmmmhhhdmmdddddddddddddddddddhyyyhhyyyyhddhhhdo///-sddddhhhhhhhhhhhhhhhyyyyyhhhhhhddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhys.
  oooooooooooooooo+++++////////+o+:.`                                                        -osssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdhs+/////oyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdmmmho//////ydddddys+:-.......-:+o/:.``````...--/s+-......+hhhysyhds+ymmmmmmdhdhhmmmddddddddddddddddddyyyyhhyyyyhdhhhhy///:+dddhhhhhhhhhhhhhhhhhhhyyyyyyhhhhhhddhhhhhhhhhhhhhhhhhhhhhhhhhhhyo
  oooooooooooooooo++++++//////////+oo/:`                                                  `:osssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddmdmmddddddddddddddddddddddddddddmmmmmmddddddho//////+syhhhhhhhhhhhhhhhhhhhhhhhhhmmmho/////::ydddddddddyo/-........-:/o+/-.````./o/-......-oyyhhysshdho+ymmmmdhddhydmmmddddddddddddddddyyyyyhhyyyhdhhhhh+//:/hdhhhhhhhhhhhhhhhhhhhhhhhhyyyhhhhhhhhhdhhhhhhhhhhhhhhhhhhhhhhhhhy.
  oooooooooooooooooo++++++////////////+o++:.`                                          -/oyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmddmmmmmmmdyo///////+syhhhhhhhhhhhhhhhhhhhdmdy+/////::ohdddddddhhhhddy+:..........-:/++/-:o+-......./yyshhysssyhdy++yhhhhddddhydmmdddddddddddddddhyyyyyhyyyyhhhhhho////shhhhhhhhhhhhhhhhhhyysoohhhhhhyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhs:`
  ooooooooooooooooooo++++++////////////////+++/:-.                               `-:+syysssssssyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyhhhhhhhhyyyyyyyyyhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmdyo/////////+osyyhdddhhhhhhhys+//////-:ohdddddddddhyhysyhdhs/-...........-://-......./yhssyhyyyyysyhho+ohddddddddhyhmmdddddddddddddhyyyyyyhyyyhhhhhho//::sddddhhhhddddmh/:.`      `/shyyyhhhyyyyhhhhhhhhhhhhhhhhhhhhhhho-
  oooooooooooooooooooo+++++++////////////////////+++/:::-...```````````..--:://+++++////////////////+++++++++++ooooossssyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmdyo////////////++oooo++///////::-/shdddddddddddysyhyssssyhyo-...................:sdyssyhyyyyyyyyydho+ohddddddddhyhdmdddddddddddhyyyyyyhyyyhhhhhhs//::ommmmmmmmmmmmmmm/            ``  `.:+oyhhhhhhhhhhhhhhhhhhhhyo:`
  ooooooooooooooooooooo+++++++//////////////////////////+++++++ooooo+++++++////////////////////++oossssssssyyyyyyyyyyyyyyssssssyyyyhhhhhdddddddddddddddddddhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdhs+/::-::::::::::-------:/+ohhdddddddddddddyssshhsssssssso/-..............-+yohysshyyyyyyyysshdy++sdddddhdhhhyyhddddddddddhyyyyyyhhyyyhhhhhs///:odmmmmmmmmmmmmmmmmo`                   ``.:/ossyyyhhhhhhhs+-`
  ooooooooooooooooooooooo+++++++///////////////////////////////////////////////////////////+oosssssssyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmdddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdddhyyssooo+++++oosyyhhhhdddddddddddddddhsssssyhssssssso+++:-........../o/o/sssyyyyyyyyyyssshdy++yhhhhhhhhhhhyhdddddddhyyyyyyyhdhyyhhhhhs///:odmmmmmmmmmmmmmmmmmmy.                         ```...----.`
  oooooooooooooooooooooo++++++++++//////////////////////////////////////////////////////+osssssssyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmdddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddddddddmmmdddhhddddddddddddddddhhhdddddddyssssssyysssssss/-os+/::-..../+/+os/oyyysyyyysssysssyhhs++yhhhhhhhhhhhhhhddddhyyyyyyhhdhyyhhhhho////odmmmmmmmmmmmmmmmmmmmmh:
  /+ooooooooooooooooooo++++++++++++///////////////////////////////////////////////////+ossssssyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmdddddddddddddddddddddddddddmmmmmddmddddddddddddddddddddddddddddddddddddmmmmmdddddddddddddddddddhhhdddddddhsssssssssysssssso--o++ooo+//++oo/-+:+hyssyyssssyssssshdhs++yhhhhhhhhhhhhyyhyyyyyyyyhhddyyyhhhy+////sdmmmmmmmmmmmmmmmmmmmmmmm+`
  ///+ooooooooooooooooo+++++++++++++////////////////////////////////////////////////+sssssssyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhddddddddhhhhhyyyyyyysssssssssssssssyyyyyyyyyyyyyyyyhhhhyhhhhhhddddddddddddddddddddddmmmmmdddddddddddddddddddddmmmddddddddddddddddddddddddddddddddddddddddddmmmmmmmddddddddddddddddddhhhddddddhssssssssssssssssss/.:/```-+syss/-``//ohssssyyyyyssossssddho++yhhhhhhhhhhhhhyyyyyyhhhhhdhyyhhhs+////smmmmmmmmmddddddmmmmmmmmmmmy.
  /////+oooooooooooooooo++++++++++++//////////////////////////////////////////////+ossssssyyyyyyyyyyyyyyyyyhhhhhhhdddddddddhhyssoo++++++++++//////++++++++++++oooooooooossssssssssssssyyyyyhhhdddddddddddddddddddmmmmmmddddddddddddddmmddhhdddddddddddddddddddddddddddddddddddddddddmmmmmmNmmddddddddddddddddhhhddddddhysssssssssssssssssso.-/--://-``..:::+syhssssssssssssssssyddyo++shhhhhhhhhhhhhhhhhhhhhhdhyyhhy+////ohmmmmmmmmmmmddddddddddddddddmd/`
  //////++oooooooooooooo++++++++++++++///////////////////////////////////////////osssssssyyyyyyyyyyyyyyyyhhhdddddddhhhyysoo+++///////////++++++oooooooooosssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhdddddmddddddmmmmmmmmmmddmmmmmmdhhhddddddddddddddddddddddddddddddddddddddddddmmmmmmNmmmmddddddddddddddddhdddddddyssssssssssssssssssss:syo+:.`     `.:oyoysssssssssssssssoshhhy+++shhhhhhhhhhhhhhhhhhhhdhyyhyo+///+ydmmmmmmmmmmmmmdddddddhhhhhhhysyyo`
  +///////++oooooooooooooo++++++++++++/////////////////////////////////////////+osssssssyyyyyyyyyyyyyyyhhhdhhhyysssso++////////+++++ooooooooooooooooossssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhyyyyyyyhhhhddddmmmmmmmmmmmmmmmmmddhhhdddddddddddddddddddddddddddddddddddddddddddmmmmmmNmmmmmmdddddddddddddhhhddddddhsssssssssssssssssssss/-+/:::///::/+:.:/-ysssssssssssssssoshhhhy+++oyhhhhhhhhhhhhhhhhhhhyyyo+///+sdmmmmmmmmmmmmmmmmddddddhhhhhhhhyssss:
  so+///////++ooooooooooooo+++++++++++++//////////////////////////////////////+osssssssssyssyyyyyyyhhyyyyssssssoo++//////++++ooooooooooooooooooooooooooossssssyyyyyhhhhhhhdddddhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhdddddddddhhhhhdddddddddddddddddddddddddddddddddddddddddddddmmmmmmNmmmmmmNmddddhhhhhhhhhhhhdddddysssssssssssssssssssss+.//` .:/++:::--/o+ysssssssssssssssoyhhhhhyo+++oyhhhhhhhhhhhhhhhyyso+///+sdmmmmmmmmmmmmmmmmmmmdddddhhhhhhhhhsoosyo`
  -sys+////////+ooooooooooooo++++++++++++////////////////////////////////////osssssssssssssssssyyhyyyysssssyyysoo+++++ooooooooooooooooooooooooooooooooooooooooossssssssssyyyyyyhhhhhhhhhhhhdddhddddhdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddmmmmmmNmmmmmmmmNdhhhhhhhhhhhhhhhhhddhssssssssssssssssssysss+-+o/+/-.`   `.:os/sssssssssssssooooshhhhhhdy++++oshhhhhhhhhhhhyo++///+sdmmmmmmmmmmmmmmmmmmmmmmdddddhhhhhhhhhsoooss:
   `/yyso+///////+oooooooooooo+++++++++++++/////////////////////////////////+sssssssssssssssssyyo++++syhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhdddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddmmmmmNmmmmmmmmmmmNdhhhhhhhhhhhhhhhhhhysssssssssssssssssssyss+:os//::::::++/-:+-osssssssssssoooooshhhhhhdmds+++++osyyyyhhyo/:////oyhmmmmmmmmmmmmddmmmmmmmmmmmddddhhhhhhhhhhsoooos+.
     .+yyso+////////+oooooooo+++++++++++++++++++///////////////////////////+osssssssssssssssyys////////oyhhhddddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddhhhhhhhhhhddddddddddddddddddddddddddddddddmmmmmNmmmmmmmmmmmmmmdhhhhhhhhhhhhhhhhyssssysssssssssssssssyys+.:/`.-/++/:/::-:+/sssssssssssooooooshhhhhhdmmmds++///+++++/-.-/++syhdddddmmmmmmmmmmdddmmmmmmmmmmddddhhhhhhhhhhsooo+os:`
       :oyyyso+///////++++++++++++++++++++++++++++++++++//////////////////+osoooossssssssyyyhy+//////////ohdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddhhhddddddddddddddddddddddddddddmmmmNmddmmmmmmmmmmmmmmhhhhhhhhhhhhhhhhsssyyyssssssssssssssssyyo/os++:.`     `./sosssssoosoooooooooshhhhhhhmmmmmdyo+/::--..-/oshdddddddddddddmmmmmmmmddddmmmmmmmddddhhhhhhhhhhhsoo+++s+.
        `:syyssoo+///////++++++++++oooooooooooooosooooo+++++/////////////+ooooooooosssyyyyyhh+////////////+shhhhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmNmdddmmmmmmmmmmmmmmNdhhhhhhhhhhhhhhssshhyssssssssssssssssssysoso///////:://::+-osyssoooooooooooosyhhhhhhmmmmmmmmmdhhyyyhddmmmmmdddddddddddddmmmmmmmdddddmmmmmmddddhhhhhhhhhhhyo+++++s:`
          `:syssssoo++///////++++++++++++++ooosssyyyyyyyyssssssooooooo+++oooooooosssyyyyyyyh+///////////////ohhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmNmmdddmmmmmmmmmmmmmmmmNdhhhhhhhhhhhhssyhhysssssssssssssssssssys+s/`.-:++/::::/oo+sysssoooooooooooooyhhhhyymmmmmmmmmmmmmmmmmmmmmmmmmdddddddddddddmmmmmmddddddmmmmmdddhhyyyhyyhhhhyo+++++oo-
            `/ssssssoooo+++///////+++//////////++++oosssssssssssssssssssssssssssssssssyyyyyo/////////////////yddhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmNmmdddddmmmmmmmmmmmmmmmmmmhhhhhhhhhhhyyyhhysssssssssssssssssssssoohso++//:--:/::+++ysooooooooooooooooshhhhhymmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddmmmmmddddddddmmddddhyyyyyyyhhhhyo++///+o/`
              `:ssssooooooooo++++/////////////////////++oosssssssssssssssssssssssyyyyyyyyy+/////////////////shyhdhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmddddddmmmmmmmmmmmmmmmmmmmdhhhhhhhhhyyhhhyysosssssssssssssssssss/:s/..:/o+/++///osossooooooooooooooooshhhhhymmmmmmmmmmmmmmmmmmmmmmmmmmmdddddddddddddddmmmmmddddddddmddddhyyyyyyyhhhhhs+/////+o.
                 :osssoooooooooooo++++++++/////////////////+++oossssssssssssssssssssssyyy+/////////////////shyyyhdhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmddddddddmmmmmmmmmmmmmmmmmmmmmhhhhhhhhyhhyyyysooossssssssssssssssss+:ssooo+/::///////ssooooooooooooooooooyhhhhydmmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddddddddmmmmdddddddddddhyyyyyysyhhhhhy+//////o/`
                   -+ssssssssooooooooooooooooooo+++++++++ooooooooooooossssssssssssssssyy+////////////////+shyyyyyyhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddmmdddddddmmmmmmmmmddddddddddmmmmmmmmmmmmmmmmmmmmmdhhhhhhyhyyyyyssooooossssssssssssssssssyssssssssssoossssoooooooooooooooooooshhhhydmmmmmmmmmmmmmmmmmmmmmdmmmmmdddddddddddhdddddddmmmdddddddddddhyyyyyysyhhhdhyo//////++.
                     `/ossssssssooooooooooooooooooooooooooooooooossssssssssssssssssssys/////////////////oyhyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyysyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmmmmmddddddddddddmmmmmmmmmmmmmmmmmmmmmmmhyyyyyyyyyyyssoooooossysssssssssssssyyyyyyyysssssossoooooooooooooooooooooosyhhhydmmmmmmmmmmmmmmmmmmmmmddmmmmmddddddddddhhhhdddddddmddddddddddhyyyyyyssyhhhdhhs///////+:`
                       `-+ssssssooooooooooooooooooooooooooosssssssssssssssssssssssssyo////////////////+syyyyyyyyyyyssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmmddddddddddddddmmmmmmmmmmmmmmmmmmmmmmmmdhyyyyyyyyyssoooooosyhssssssssssssyyyyyyssssssssoooooooooooooooooooooooooooyhhhhdmmmmmmmmmmmmmmmmmmmmmdddmmmmdddddddddddhyyhhdddddddddddddddddhyyyyyyssshhhdhhs+//////++.
                          `:ossssoooooooooooooooooooooooossssssssssssssssssssssssssy+////////////////+yyyyyso/:..``   .syyyyyyyyyyyyyyyyyyyyysssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmdddddddddddddddddmmmmmmmmmmmmmdddmmmmmmmmdhyyyyyyyyssooooosyhhysssssssssssyysssssssssssssoooooooooooooooooooooooooooshhhhdmmmmmmmmmmmmmmmmmmmmmddddmmmmddddddddddhyyyyyhhddddddddddddddhyyyyyyysssyhhdhhy+////::/+-
                             `:osssooooooooooooooooooooosssssssssssssssssssssssssys+//////////////:/oyso/-`            `+yyyyyyyyyyyyyyyyyyyyssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddhhhhhhhhhhhhhhhhhhhhhdddddddddddddddddddddddmmmmmmmmmmmmddddmmmmmmmmmdyyyyyyyyssoooosshhyyssssssssssssssssssssssssssoooooooooooooooooooooooooooooyhhhdmmmmmmmmmmmmmmmmmmmmmddddmmmmdddddddddddhyyyyyyyhhdddddddddhhhhyyyyyyssssyhhhhhyo//:::::+/`
                                `:+sssooooooooooooooooosssssssssssssssssssssssssyo/////////////:-:/+/.`                 `/ysssssssyyyyyyyyyyyysssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhdddddddddddddhhhhhhhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddmmmmmmmdddddddmmmmmmmmmmmhyyyyyyyssoooosyhhysssssssssssssssssssssssssssooooooooooooooooooooooooooooooshhhdmmmmmmmmmmmmmmmmmmmmmdddddmmmmdddddddddddhyyyyyyyyyhhdddddddhhhyyyyyyyssssyhhhhhho/::::::/+.
                                   `./ossoooooooooooosssssssssssssssssssssssssss+/////////:::://:.`                       :ssssssyyyyyyyyyyyyyssyyyysssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhdddddddhhhhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddmmmdddddddddddmmmmmmmmmmmdyyyyyysssooosyhhhysssssssssssssssssssssssssssoooooooooooooooooooooooooooooosyhhhdmmmmmmmmmmmmmmmmmmmmmddddddmmmdddddddddddhyyyyyyyyyyyhhdddddddhhyyyyyyyssssshhhhhho/:::::::+-
                                       `:+ssoooooosssssssssssssssssssssssssssys+////:::-:///:.`                            -syyyyyyyyyyyyyyyyyyssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhdddddhhhyyyyhhhhhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmhyyyyysssossyhhhysssssssssssssssssssssssssssssooooooooooooooooooooooooooooossyhhhdmmmmmmmmmmmmmmmmmmmmmddddddmmmmdddddddddddhyyyyyyyysssyyhhddddhhhyyyyyyyysssshhhhhhs/:::::::+/`
                                           `-/osyssssssssssssssssssssssssssss+:--.-:///:-`                                  `oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhddddhhhyhyyyyyyyhhhhhdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmhyyyyyyysssyhhhysossssssssssssssssssssssssssssoooooooooooooooooooooooooooosssshhhyhmmmmmmmmmmmmmmmmmmmmmdddddddmmmddddddddddddhyyyyyyssssssyyhddddddhyyyyyyyyssssyhhhhhs/:::::::/+`
                                                .:/osyyysssssssssssssssooo+/--::::-.`                                        `/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhyo/:--....-:/+oyhhhddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmNdyyyyyyyyyyhhhyooooossyysssssssssssssssssssssssoooooooooooooooooooooooooosssssshhhsyhmmmmmmmmmmmmmmmmmmmmddddddddmmmddddddddddddhyyysssssssssssyhddddhhyyyyyyyyysssyhhhhhs::::::::/+.
                                                     `.-:/+ooosssssoo++//:--..`                                                -yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhys/.`                 `:ohddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmdyyyyyyyyhhhyooooosyyhysssssssssssssssssssssssooooooooooooooooooooooooosssssssyhdhsshhmmmmmmmmmmmmmmmmmmmddddddddmmmddddddddddddhhyysssssssssssssyhdddhhhyyyyyyhysssshhhhhs/::::::::+:
                                                              ``````````                                                        `ohyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhy+-`                        `.+ydddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmmmmmmmmmmmhyyyyyhhhsoooosyyyhhysoosssssssssssssssssssssooooooooooooooooooooooosssssssssyhhhooshhmmmmmmmmmmmmmmmmmmdddddddddmmmdddddddddddddyysssssssssssssssyhdddhhyyyyyhhyssssyhhhhs/::::::::+:
                                                                                                                                 `/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhs/.                               `-ohdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmdddmmmmmmmmmyyyyhysoossyyyyyyhysooosssssssssssssssssssssooooooooooooooooooooossssssssssshhhsoooshhmmmmmmmmmmmmmmmmmdddddddddmmmdddddddddddddhysssssssssssssssssyhddhhhyyyyhhyssssyhhhhs::::::::://`
                                                                                                                                   .yhhhyhyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhs:.                                     `+ydddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmmddddmmmmmmmmmmhhhyysosyyyyyyyyyhsoooosssssssssssssssssssssoooooooooooooooooooosssssssssssyhhyooooohhmmmmmmmmmmmmmmmmddddddddddmmmddddddddddddddhyssssssssssssssssssyhddhhyyyyhhhysssyhhhho::::::::://
                                                                                                                                    `+hhhhhhhhhhhhyhhhhhhhhhhhhhhhhhhhhhs:`                                          `:ydddddddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmdddddddmmmmmmmmmdyyyyssyyyyyyyyyyyyooooosssssssssssssssssssssoooooooooooooooooosssyyyyssssssyhyoooooshdmmmmmmmmmmmmmmmmdddddddddddmmdddddddddddddddhyssssssssssssssssssshddhhyyyyhhhysssshhhho::::::::://`
                                                                                                                                      -yhhhhhhhhhhhhhhhhhhhhhdddddddhs/.                                               `-sdddddddddddddddddddddddddddddddddddddddddddddddddddmmmmmmdddddddddmmmmmmdhyyyyyyyyyyyyyyyyyysoooooosssssssssssssssssssssoooooooooooooooosssyyyyyysssssyhysoooooshmmmmmmmmmmmmmmmmmdddddddddddmmddddddddddddddhhhysssssssssssssssssssyhddhhyyyhhhysssyhhhh+::::::::://`
                                                                                                                                       `/hddddddddddddddddddddddddy+.`                                                   `-sddddddddddddddddddddddddddddddddddddddddddddddmmmmmmdddddddddddmmmmdhyyyyyyyyyyyyyyyyyyyysooooooosssssssssssssssssssssooooooooooooooosssyyyyyyyssssyhysooooooymmmmmmmmmmmmmmmmmddddddddddddmmmdddddddddddhdhhhhssssssssssssssssssssyyhdhhyyyhhhysssyhhhy/::::::::://.
                                                                                                                                         -sdddddddddddddddddddddy+`                                                        `-sddddddddddddddddddddddddddddddddddddddddddmmmmmmddhhhhdhdddddmmdhyyyyyyyyyyyyyyyyyyyyysooooooossssssssssssssssssssssooooooooooooosssssyyyyyyyssssyysoooooosdmmmmmmmmmmmmmmmmmdddddddddddddmddddddddddddhhhhhdhsssssssssssssssssssssyhhhhyyyhhhyssyhhhhy/:::::::::/+.
                                                                                                                                          `/hdddddddddddddddddy:`                                                             :sddddddddddddddddddddddddddddddddddddddmmmmmddhhhhhhhhhhhhhddhyyyyyyyyyyyyyyyyyyyyyysoooooooosssssssssssssssssssssssooooooooooosssyysssssyyssssyysoooooosyshmmmmmmmmmmmmmmmmdddddddddddddmdddddddddddddhhhhhhhsssssssssssssssssssssyyhhhyyhhhhyssyhhhhs/:::::::::/+`
                                                                                                                                            ./hddddddddddddds-`                                                                `/hdddddddddddddddddddhhhddddddddddddmmmmddhhhhhhhhhhhhhhhdhyyyyyyyyyyyyyyyyyyyyyyysooooooooosssssssssssssssssssssssoooooooooosssssyyyyyssssssyyoooooooyyooosdmmmmmmmmmmmmmdddddddddddddmmddddddddddddddhhhhhhhsssssssssssssssssssssyyyhhyyhhhhyssyhhhhy+::::::::/o:`
                                                                                                                                              ./yddddddddh+.`                                                                    .odddddddddddddhhhhhhhdddddddddddmmdddhhhhhhhhhhhhhhhhhddyyyyyyyyyyyyyyyyyyyyyyysoooooooooossssssssssssssssssssssssoooooooossssssssssssssssyyoooooooyyooooooydmmmmmmmmmmmdddddddddddddmmdddddddddddddddhhhhhhhyssssssssssssssssssssyyyyhyyhhhhysyhhhhhy+::::::::o/-`
                                                                                                                                                `:sdddhs:.                                                                        `ohddddddddhhhhhhhhhhhhdddddddddddhhhhhhhhhhhhhhhhhhhhhdyyyyyyyyyyyyyyyyyyyyyssooooooooooossssssssssssssssssssssssooooooosssssssssssssssyysooooooshhsooooooooshmmmmmmmmddddddddddddddmmddddddddddddddddhhhhhhhssssssssssssssssssssyyyyyhhyhhhhysyhhhhhyo:::::::+s-:`
                                                                                                                                                   .:-.                                                                            `/hdhhhhhhhhhhhhhhhhhhdddddddhhhhhhhhhhhhhhhhhhhhhhhhhdhyyyyyyyyyyyyyyyyyyysooooooooooosssssssssssssssssssssssssssooooossssssssssssssssysooooosyhhyoooooooooooshmmmmmmddddddddddddddmddddddddddddddddddddddhhhyssssssssssssssssssyyyyyyyhhhhhhyshhhhhhho::::::/h/-:`
                                                                                                                                                                                                                                     -ydhhhhhhhhhhhhhhhhhddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdmhhyyyyyyyyyyyyyyyysoooooooooooossssssssssssssssssssssssssssooosssssssssssssssyysoooooshhhhsoooosssoooooohdmmmddddddddddddddmmddddddddddddddddddddddhhhhyssssssssssssssssssyyyyyyyhhhhhhsyhhhhhhhs/:::::hy.-:
                                                                                                                                                                                                                                      .+dhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmmdhhhyyyyyyyyyyyysooooooooooooossssssssssssssssssssssssssssssssssssssyyysssssyysoooosyhhhhhsssssssssooooshhdNdddddddddddddddmdddddddddddddddddddddddhhhhhysssssssssssssssssyyyyyyyyhhhhhysyhhhhhhhs/::::yd/`-:
                                                                                                                                                                                                                                        :ydhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmmmmdhhhyyyyyyyyyyysoooooooooooosssssssssssssssssssssssssyyyyyyyyyyyyyyyyyyysyyssooosyhdhhhhysssssyyysoooyhhhmmdddddddddddddddmdddddddddddddddddddddddddddhhyssssssssssssssssyyyyyyyyyhhhhhyshdhhhhhhs/:::sds.`:-
                                                                                                                                                                                                                                         `/hdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmmmmmmdhhhhyyyyyyyyyyssooooooooossssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyysooosyhddhhhhhyyyyyyyyyoosyhhhdmdddddddddddddddmmdddddddddddddddddddddddddddddhhyssssssssssssssyyyyyyyyyyhhhhhsyddhhhdhhs/::sdh-``:-
                                                                                                                                                                                                                                           .+hdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdmmmmdddddhhhhhyyyyyyhhyssssooooossssssssssssssssssssssyyyyyyyyyyyyyyyyyyyysyyyysoosshdddhhhhhyyyyyyyyhyoshhhhhmmdddddddddddddmmmddddddddddddddddddddddddddddhdddhhssssssssssssssyyyyyyyyyyhdhhyshdhhhhdhhs/:sdd/.``/-
                                                                                                                                                                                                                                             .ohdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdmmmmdhhdddmdhhhhhyyyyyhhyssysssssssssssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyssosshdddhhyhhhyyyyyyyyhhyyhhhhhdmdddddddddddddmmmddddddddddddddddddddddddddddddhhhhhhyssssssssssssyyyyyyyyyyyhdhhyyddhhdddhhs:shd+:``./.
                                                                                                                                                                                                                                               .ohdhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdmmmmmdhhhhhdddhhhhhhyyyhhhyssyyyssssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysoosydddhhhyhhhyyyyyyhhdhyhhhhhhdmddddddddddddmmmdddddddddddddddddddddddddddddddddhhhhhhhyssssssssssyyyyyyyyyyyhhdhyshddhhhhhhhoshd+:.``.+.
                                                                                                                                                                                                                                                 .+yddddhhhhhhhhhhhhhhhhhhhhhhhhhhdmmmmmdhhhhhhhhhhhdhyhhyyyyyhhssyyyyyysssssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyhhssosyhdddhhhyyhhhyyyhhhddhhhhhhhhhdhymddddddddmmmmdddddddddddddddddddddddddddddddddddhhhhhhhhysssssssysyyyyyyyyyyyhhdhyhmddhhhhhhhhhdo:-```.+.
                                                                                                                                                                                                                                                   `/yhddddddddddhhhhhhhhhhhhhhhhdmmmmmdhhhhhhhhhhhdhysyhhhhyyyyhyssyyyyyyysssssyssssssssyyyyyyyyyyyssssyyyhhhhsssyhddhdhhhhyhhhyyoosddhhhooohhhyyysydddddmmmmmmdddddddddddddddddddddddddddddddddddddddhhhhhhhysssssssssyyyyyyyyyyyhddyydmdhhhhhhhhddo::.```-o.
                                                                                                                                                                                                                                                     `-ohdddddddddddhhhhhhhhhhhdmmmmmmdhhhhhhhhhhhhdhsysssyyhhhhhhysssyyyhhhyyssyyyssssssssssyyyssssssyyhhhhhyssyhdddddddddhhhhso+oo/ydddhys+yssssssydmmmmmmmmmdddddddddddddddddddddddddddddddddddddddddhhhhhhhhyssssyyyyyyyyyyyyyyhhdhydmddhddddhddd+::-````/+`
                                                                                                                                                                                                                                                        `-+shhdddddddddddhhdddmmmmmmmdhhhhhhhhhhhhdhyyyosssssssyyhhhhyyyyhhhhhhhyyhhyssssssssssssssyyhhhhhhhssyyhhhhdhhdhhhysooosyyy+odddddhsyssssssydmmmmmmmddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhyysysssyyyyyyyyyyyyhhdyhdmdhddddhdmd/:::````/++`
                                                                                                                                                                                                                                                            `-:+oyhhhddddddmmdddys+ohhhhhhhhhhhhhhdhsyssssssssssssssyyhhhhhhhhhhhhhhhhyssssssssyyhhhhhyyyssoosoooooyhhhhsoosyyyyyyyyo+ddddddyyysssssyhmmmmmdddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhyysyyyyyyyyyyyyyyyhhhydmdhhdhhddmh::::.```//++
                                                                                                                                                                                                                                                                  ``.---:::--.``   /yhhhhhhhhhhhhdhyyyossssssssssssssssssyyyyhhhhhhdhso+////+++++++++/:---.....```.//ossyhhhhhhhhyyyo+ddddddyyysssssyhdmdddddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhhhyyyyyyyyyyyyyyyyyhhhhhmddhhhhdmms-:::-```//:o/
                                                                                                                                                                                                                                                                                  `/shhhhhhhhhhhdhhydysssssssssssssssssssssssssyyyyyho//oooooooooo+o++//////:-...` -+shhhhhhhhhhhhyyo+ddddddyyyyyyssshdmdddddddddddddddddddddddddddddddddddddddddddddhdddhhhhhhhhhhhhhyyyyyyyyyyyyyyyhhhhhdmdhhhddmh+-:::-```/+::o/
                                                                                                                                                                                                                                                                                 -syyyyyhhhhhhhhdhyhhyssssssssssssssssssssssssssyyyhho/ddhhhhhhhhhhhyyssssssso/::. :oyhhhhhhhhhhhhyyosddddddhyhyyyyysyddddddddddddddddddddddddddddddddddddddddddddddddddhhhhhhhhhhhhhhhyyyyyyyyyyyyyyyhhhhmmdhhddmds:-::::.``:+:::s:
                                                                                                                                                                                                                                                                               `oyyyyyyyyyyhhhhdhhyhhhysssssssssssssssssssssssssyyyhy++ddyyyysyyyyyyso+++osyyys+o:`/yyhhhhhhhhhhhhyyshmdddddhhyyyyyyyhddmdddddddddddddddddddddddddddddddddddddddddddhddddhhhhhhhhhhhhhhhyyyyyyyyyyyyyyhhhhmmdhhdmmh+:-::::.``:+::::s:
                                                                                                                                                                                                                                                                              /yyyyyyyyyyyyyyyyhhhhhhhhhyssssssssssssssssssssssyyyyhy/sddyyso++syyyyyyooosyyyyysy+`+hhhhhhhhhhhhhyyyhmddddddhhyyyyhhddddmdddddddddddddddddddddddddddddddddddddddddddhhhdhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyyhhhdmmddmmms:---:::-``:+:::::s-
                                                                                                                                                                                                                                                                            `oyyyyyyyyyyyyyyssoosyhhhhhhhhyssssssssssssssssssssyyyyhs+sssso.``./oyyyyyyyyyyyyyyydo.sdhhhhhhhhhhhyhddmdddddddhhdhdddddddyydddddddddddddddddddddddddhhhhhyyyyyyhhhhhdddddhhhhhhhhhhhhhhhhhhhyyyyyyyyyyyyyhhhdmmddmmd+----:::-``/+:::::/s
                                                                                                                                                                                                                                                                           .syyyyyyyyyyyysooooooooosyhhhhdhhhhyssssssssssssssssyyyyhs+sssso:--:+syyyyyyyyyyyyyyydy+sdhhhhhhhhhhddmmdddddddmdhhdddmmddddy`.-/+syyhhhhhhhyyyss+//--.````        ````..-:/+yhddddhhhhhhhhhhhhhhyyyyyyyyyyhhhhdmmmmmmy:----::::.`++:::::::
                                                                                                                                                                                                                                                                          .yyyyyyyyyyyysooooooooooooosyyyyhhhhddhhyysssssssssyyyyyydy+sddhhhhyyyyyyyyyso++syyyyydo-hdhhhhhdddmmmmddddddddddddddddddddddd+                                                 `.:/ohddhhhhhhhhhhhyyyyyyyyyhhhhdmmmmmd/------:::.`o/:::::::
                                                                                                                                                                                                                                                                         -syyyyyyyyyysoooooooooooooooooyyyyyyyyyhhhhhhhhyyyssyyyyyydy+odhyyyyyyyyyyyyyys+osyyyyhdsshddddmmmmmddmddddddddddddmmdddddhhdddd/                                                      ./oyddhhhhhhhhyyyyyyyhhhhhdmmmmmo-------:::..o/:::::::
                                                                                                                                                                                                                                                                        -syyyyyyyyysoooooooooooooooooooosyyyyyyyyyyhhhhhhhhhhhhhhyhdho/hhyyyyyyyyyyyyso++++syssyso+yddddddddmdddmdddddddddddddddhhhhhhhddh-                                                        `./shdhhhhhhyyyyhhhhhhhmmmmmy:--------::.-o::::::::
                                                                                                                                                                                                                                                                       .syyyyyyyyssoooooooooooooooooooooooyhhyyssyhhhhhhhhhhhhhhhhhhdhoooo++//+++ooo/-...-:oo+ooosyhddddddddmdddmdddddddddddddhhhhhyhhhdhdy.                                                           `:ohddhhhhyhhhhhhhdmmmmd/---------::.:o::::::::
                                                                                                                                                                                                                                                                      `+ysyyyyyysoooooooooooooooooooooooooosyhhysssyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyhhhdhddddddddddddddddmdddmdddddddhyyhhhhyyyyyyhhhhds`                                                             `:shdhhhhhhhhhhdmmmd/----------::.++::::::::
                                                                                                                                                                                                                                                                      -yyyyyyyysooooooooooooooooooooooooooooosyhhssssyhhhhhhhhhhhhhhdddddddddddddddddddddddddddddddddddddddddmmdddddhhdhhsyhhhhyysssssyhhhddo                                                                .+hhhhhhhhhhdmmmo.-----------:.o/::::::::
                                                                                                                                                                                                                                                                   -/odyssssyyyyssoooooooooooooooooooosssosssssyhhyyyyyyhhhhhhyyyyyyyyhhhhhddddddddddddddddddddddddddddddddddddddhyyhhyssyhhhyyssssssssyyhhdd/                                                                 `/hhhhhhhhdmmy.-------------:s//:::::::
                                                                                                                                                                                                                                                                  -hhddyyyyyyyyyyyyyssssssssssyyyyyyyhdysoohyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhdddddddddddddddddddhyssssyyssssyhyysssssssssssyyhhdd/                                                                  ./hhhhhdmmy..-------------oy///::::::
                                                                                                                                                                                                                                                                  -hhhhhhhhhhhhyssssssssssssssssssssyhdyss+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhdddddddddddddhhhysssssyssssshhysssssssssssssssyhhdh-                                                                   -shhhdmh-`-------------:yho//::::::
                                                                                                                                                                                                                                                                  -hhhhhhhhhhhhssssssssssssssssssssssydhss+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhdddddddddhhhddhhhhysssssssssssssyyssssssssssssssssssyhhdh.                                                                   `+hhmh-`--------------+hhy///:::::
                                                                                                                                                                                                                                                                  /hhhhhhhhhhhhssssssssssssssssssssssydhyysshyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhddddddddhhhhhhhddhhhyssssssssssssssssssssssssssssssssssssshhhdy.                                                                   `/dy-`.-------------:yhhho//:::::
                                                                                                                                                                                                                                                                 `shhhhhhhhhhhhysssssssssssssssssssssyddhhhydyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhdddddhhhhhhhhhhhhhhhhhhyysyyyyssssssssssssssssssssssssssssssssssshhhds                                                                    -s-`.--------------ohhhhy///::::
                                                                                                                                                                                                                                                                 .hhhhhhhhhhhhhysssssssssssssssssssssyhmdddhdhyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhysssssssssssssssssssssssssssssssssssssssyhhd+`                                                                 -+.`.--------------+yyyhhyo//::::
                                                                                                                                                                                                                                                                 .shhhhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyhddddddhhhhhhhhhhhhhdhhddddhhhyyyssssyyhhhhhhhhhhhhhhhhhhhhhyssssssssssyyssssssssssssssssssssssssssssssssyhhd+                                                                :/.`.-------------.+yyyyyyys//::::
                                                                                                                                                                                                                                                               `-+ssssyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhyyyyyyhhddhhyysssssssssssyyyyyyyyyyyyssssssssssssyyyyssssssssssssssssssssssssssssssssssshdd:                                                             `//``.-------------.:yyyyyyyyyo//:::
                                                                                                                                                                                                                                                             `-osssssssssssyyyyssssssssssssssssssssssssssssssssssyyyyyyyyyyyyyyyyyhhhddhhyyssssssssssssssssssssssssssyyyyyyssssssssssssssssssssssssssssssssssssssshdh-                                                           .+:``.--------------:syyyyyyyyyy//:::
                                                                                                                                                                                                                                                           `:ossssssssssssssssooooooooooooooooooooooooossssoosssssssyyyyyyyyyyyyyyyyyyhhhhhhhysssssssssssssssssssyyyhhyyyssssssssssssssssssssssssssssssssssssssssssyhy-                                                         -+-``------------.---syyyyyyyyyyyo/:::
                                                                                                                                                                                                                                                         ./ssssssssssssooooooooooooooooooooooooooooooooooo+++osssssssssyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhhhhhhhhhhhhhhhyyyysssssssssssssssssssssssssssssssssssssssssssssydy`                                                      `:/.`.------------..--oyyyyyyyyyyyyy+/::
                                                                                                                                                                                                                                                      `-+syssssssssoooooooooooooooooooooooooo++++++ooo+++oooo++ossoooo+oyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhhddddhhhhyyyyssssssssssssssssssssssssssssssssssssssssssssssssyhs.                                                    .+:``.------------..--oysssyyyyyyyyyys//:
                                                                                                                                                                                                                                                    `-oysssssssoooooooooooooo+ooooo++++ooo+++ooooo+///oosssssso++++ossso+syyyyyyyyyyssyyyyyyyyyyyyyhhhhhhddddhhhhyyyysssssssssssssssssssssssssssssssssssssssssssssssssshs`                                                  :+.``.-------------..-oyssssssyyyyyyyyy+/:
                                                                                                                                                                                                                                                  ./s/ossssoooooooooooooooo+///ooo+/oo++///+oooo+++oo++oooooo++++/ossssss+oyyyssooooo+syyyyyyyyyyyyyyyyyyhhhhhhhhhhhyyyysssssssssssssssssssssssssssssssssssssssssssssssshs`                                               ./:```-------------..--oysssssssssysyyyyys/:
                                                                                                                                                                                                                                               .:oyys/ooo+//ooooo+//+ooooo+/oo+/+/+oooo++oo+++++ossssso+oo++ooosso++osssss++ooossyyyyo+yyyyyyyyyyyyyyyyyyyyyyyyyhhhhhhhhhhyssssssssssssssssssssssssssssssssssssssssssssssho`                                             :+.``.--------------..:sysssssssssssssyyyyyo/
                                                                                                                                                                                                                                          ``-//+sssso:+//++:oo++/+oo+/+++/+oooo///ooo++oooooo+/////::::::://++oooss++oo+++oo+syyyyyyyy+syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssssssssssssssssssssssssssssssssssssho                                           ./:```.::--------------/yysssssssssssssssyyyyy+
                                                                                                                                                                                                                                      `-/+oss+/oo++//:+oooo////+oooooo+//+ooo+/+oo++++o+//::-------::::::::::::::::///+osssso+syysssoo++oooo+syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssssssssssssssssssssssssssssssh/                                        `:/.```-::--------------oyssssssssssssssssyyyyyyy
                                                                                                                                                                                                                                      :sooo+/:///++oo/+oo+////oooooo+/+oo+//+osoo+/::--------------:::::::::::::::::::::::/++osooossyyy+yyyyo+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssssssssssssssssssssssssssh/                                      -+-```.-::-------------/yyssssssssssssssssyyyyyyyh
                                                                                                                                                                                                                                      .oyyyo+++oooooo:+//+ooo+/oo+//+oooooo+/::-------------------:::::::::::::::::::::::::::oddddhhyyy+oyyyy++sooooooooo+syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssssssssssssssssssssssh/                                   .//````.:::------------:shyyssssssssssssssssyyyyyyyh
                                                                                                                                                                                                                                       :hyyyyyyyyyyss+oosssooo+++++++/::----------------------:--:::::::::::::::::::::::::::oddddddddddy+oooos+oyyyyyyyyy+oyyysssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssooossssooossssoooyy:                                `//.````-:::------------oyyyyyyyssssssssssssssyyyyyyyh
                                                                                                                                                                                                                                        /yyyyyyyyyhhhhhhhhhh+::::------------------------------::::::::::::::::::::::::::::odhddddddddddddhhyyy+syyyyyyso+/oosss+oyyyssosoyyyysssosyyyyssoosyyyyysyyyyyysoo+++++oo+++++oo++++++o:                              :+-````.:::------------+yyyyyyyyyyysssssssssssyyyyyyyyh
                                                                                                                                                                                                                                         -yyyyyyyyyyyyyyyyhs----------------------------------::::::::::::::::::::::::::::+dddddddddddddddddddhs+ysoooosyy+oyyyys++oossyys/+ooooos++ooooosso+sso+++osoo+ossyyso++/ossso+//osso/oy`                           -+-`````-:::-----------+yyyyyyyyyyyyyyyyssssssssyyyyyyyyh
                                                                                                                                                                                                                                          .oyyyyyyyyyyyyyyy/-----------------------------::::::::::::::::::::::::::::::::/ddddddddddddddddddddddsssyyyyyyys+ysooosooysooooss+syso+oo++yyyyso++/syys+++osyyys++osyso+os++oo++oo/shs`                        .+:``````-:::----------+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyh