_    _                          _____             _
   | |  | |                        (____ \           (_)
    \ \ | | _   ___   ____ ____     _   \ \ ____  ___ _  ____ ____
     \ \| || \ / _ \ / _  |  _ \   | |   | / _  )/___) |/ _  |  _ \
 _____) ) | | | |_| ( ( | | | | |  | |__/ ( (/ /|___ | ( ( | | | | |
(______/|_| |_|\___/ \_||_|_| |_|  |_____/ \____|___/|_|\_|| |_| |_|
                                                       (_____|

                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  |w|w|w|.|s|h|o|a|n|.|i|d|v|.|t|w|
                  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
hhddddddhhhhhhhhhhyyyyyyhhhhhyyyyyyyyhhhhhhhhhhyyyyyyyyyyhhyyyyyyhhyyssyyyhhhhhhhhhhyyyyyyyhdddhhyyy
hhdddddddddddddhhhyo/:/:/oyyyyyyyyyyyyhhhhhhhyyyyysssyyyyyyyyyyyyyyyssssssyhhhyyhhyysssyyyyhhhhhhyyy
hhhdddddddddddddhs:--:/::-.-+syyyyyyyhhhhhhhyyysssssssyyyyyyssssssyysoooossyyyyyyyysssssssyyyyyyyyyy
hhhddddddddddddy/:/sooo+///:-./syyyyyhhhhhyyyssssooosssssssssssssssssooooosyyyyyyysssoooossyssssssoo
hhhhdddhhhhhhhyo:oymyo+o+/oo:-...-/ssssssssooooooooooooooooooo+++//////++++oosyyyyysssooosssssso++++
hhhhhhhhhyyyys+:/+ymdysyhdds//::::---..-......-----::////:------::://+++o++++ooo+++ooooosssssoo++///
yyyyhhyyyyysso//+osmmdhdddd+::-:--...--..........-::/:--....----::::::/++osyssssyssoooo+++oooooo++//
yyyyyyyyyssooo/oyyhmNmNmh+:--..-.---::::::///:-.-.--::/+++////:::://////:::/++oossssyssooo+/+oooo+++
yyyysssssoo+++/ohhdmmy+::::://+/////++:----::--.::/:://++++/////+////////////:://++oosssssso+//+++++
ssoooooo++//////dNmy:-::/ooooo+/++/+//:://:::--.-:/::://++/::-----:/+++//+++++////:://++ossoo+//////
++//////::::::-/ys/:/osoo//+////ooos++/+/////--.-.:-:-::::://:---...--:/++/++o+++oo+//::/+oooo+++//:
:::------------:::-:////////osyysooo+/::/::::....-..--/+//+/////:::-....-:/+/+ooooo+++++/::/++++++//
--------......-:::-/++s/+ooyysysoosydmddds/+oo++/:-.....----::::://+/:-.---:///oyyo+///::::::://////
----........-::///ss+o::/+oosso++odNNmy+:/ymmNNmhhys+-`.....-::----://::----:+o+oys/:-:/++++/-::::::
-----.....-:/o+ooo+/:::/++oo+oo++osho:-/smmmhhmmyymNmh+.-:::-------:+/+/::---:+o++soo+ssoosyo/::/+//
------..:++/+++sss+:+s+/++oooss++//:-:yhhddhhdddyhddNNd/.-+o+:-.----:/+//++:---/+o+sshdysoooo+/-/+oo
-------/sy+//+//s++oooooooooosys+/-:oydmddhdmmddyossdNms..-shyo:--:-:://+/o+:--:/+++ymNmysooos+::/+s
.....-/yho//+o//+osso+osssosssyy+:/syhdmmmdhmmmmms+ohddy-`.-yNmd+:/:::/o///oo:---/o++dNmdyhhyso::++o
--..--oyy/oso//+oooosssssssyyyhy/+syhhddmmmdhhhddhys+oo+-.`-+mNNy/+//++///o/++:.-/o+/shdmmddhs+:++++
-----/sho+sy+++++oooosshyyhyhdds+syhhdddmmmmdddddddhyso:-.`-/oyho//:/oso/o/o++o/-/++++yhmmhyso/+so++
----:oyyosyh+++++oyyhhyhhhyhddy+shddmmhmmmmmmdmmmddhyo+:-..:+:////:/+o+o//:+/+++:-/+++shmmdhs+ossss+
----/ssoshhy/osoyhdysyhhyyyyyhosdNo/ys:osshdmmmmmdhyso+:-..//:::/+//+soo+/++//yo::/++/oymmdysyhhsyys
----/sysoyhs+ossossyyhhhhyyyysodNd.+dyddhsso+ssmNmhyso+:-.-++:/+++++++o+/://:-yh+/+oo++ydhhhhhyhyoss
----/yhsoyhsssyoyydhhdddhhhhsshmNs/mNNNNMMNmm+smhdmhso/:--oso+++oo++oo/o--//:.os+ooso++yhdddhyshdssy
----+yhhshhosysysydhmdhddddhshmdmmNNNNNNMMMMMNNh--dmy+:::+hshsyoooo+++++:-::o:/osysso+/yyyydhysyhsyh
----osdmhysoyhosyddddmddddyyhNdhdNNNMNNNNMMMMMM+.yNNy:::+syshssyooooo+ss/:/:o+-osdsoso+syoommhshyssy
--.:oydmdyssyhhhhhdddmddddhydmysmNMNNNNNNNNNNMNohNNNh/:++oyyhsoos+osso/++///so/oyddsoo++so+ddyohhssy
...-+yddmhssyysyhdmddhdmmmdyhh+oNNNmhhhdddmmNNNMNmNdo:/++osshysy++o:+/o+yo:osoooshmyoo++sssmdyohhysy
....:shdddhssyshmdddhdmmmdhshs:yddhssossyyyhdNNNhymy:/ooossssh+yy:o/+o--+y+sds+ysomyoyo+oyymmyoyysss
----:oyddmmhyyydmmmmhhmmmdysho:ss++ooo+oo+osdNNysyd+//ooysy+oys+h+//o/+::/o+hh+oo/sy+oyosyyddyshyyss
:::::+yddmNNdyhyddmhhmNNmhyyh/:o+:++++++/+++dmo+sdd+/+ssyshoyoh+ooo:so-+/+s/+++++oyo++yyysyhhyyyyyss
///:/+shmmNNNdyyhhdyhdmNNdyys::::/o+//o//+++o/:shyss+osshyhyhooy+s+:+y//+y++ooo++o+sosyysossyyhyssss
////oooydNNNNmhyyhdhdmNNNmhy/:--:/so+oo+oo/:-/oyo+oyyssohhmyydys++o+oy+oyo+ssso++soysyysooooyhyyyysy
//:/shsyhmNNNNmhhddddmNNmdh+.--.-:/ooooo++::oys++oyyysooohdhhyhyoosos+ysossyooossdhyyyossoooyyssyhyh
:::+shhyhdmmNNNmddmmmNNNmdo:..---:-++ooo:.+ods//oyhhhyssydhhyysoyososssyysy+o+yhddhdyoyssossyshhshdd
--:oyhdhhdmNmNNNNmmNNNNNmy/::..`.--://+:.-/hso+oyhhhhssydhhdydsss+oyhhyyyssooddNmyhyyohyosssshhyyhdd
-:+hhhdmmdmNmmmdmmNNNMNNdso:o+:--..`.-...-:so+ssyddhyssymhyhddyy+syyhhsoo+/ymNhddhyosssy+oyyhdhyyhhh
:/shhmmNNNmmmNmmmmNNNMNNdhys+ooo+/:://.--:/++oydyhhhs+hhyhhymyhdysydyyso++sdmdyhhhsssssy+ohmdhyhhhyy
:/syddmNNNNNmmmNNNNNNNNNNhhhy/+s++//+-::os+oyyshyyhs+ohhsydyddyhhssyssooshhddhymydsssyosshhmhyymdhss
:oyhddmmNNNNNNNNNNNNMNNNNmhdmmdhyyyyyyys+/oyhhyyysysohyyyhyhhhhhysyyysoohhddhhddsyss+osyhmdhhdddyysy
/ydmdmmmNNNNNNNNNNNNMMMNMNmddmmNNNmdhysssdhdhhyhhdhyhhyyhhdhhhhhhhdhyyshmhddhshyooo+syhhmmhyddhyhhhd
+yddmNmmmmNNNMMMNNNMMMMMMNNddmdmmmddddmmmdddddhddddhddhyyhhdmmhhdddhhdyyhdhhhhsyooshdmmmddhddhysyhhy
+oymNNmmmmNNNMMMMMMMMMMMMMNNmdhdmmddmmNNddddddyddhddhhhhmmmNmdydddddNmdhyhhyhysoyyymmNmddymddhhyydyy
:+sdmmdmdmNNNMNMMMMMMMMMMMMMNmmdddhhdddhddmdmhmmddmmmmmmNmdhdhhdddddmdhhyyddmmdddmmmmmmdddyhhyyhhyhy
-/yymmdmdNNNNNNNMMMMMMMMMMMMMMNMNmmmdmdddmNNNNNNNNNMNNNmmhdyhhhyddmdNNNNmdmNNNNNNmmdmmdmddyhhydshhyh
:++ymddmNNNNNNNNMMMMMMMMMMMMMMMMMNMNNNNNNNMMMMMMMMMMNNmNNmNmNmmdNNNNmNNNNNNmmNmmNmdmNdddNmhdhydyhyys
::++yddmNNNmNNNNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNmNNMNNNNNNNNNmmmNNNNNmNNdmmNmddhhddyshy
:-:/sdmNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMNNNMNMMMMMMMMMMMMMMMMNMNMMMNNNNmmMNMMNMNNNMNNNhNNNmdhsdmm+syy
:-::sdmNNNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNMMNmNddNdNdysdshhyys