```.```..`.```.........`......`....`.......--........---....---......----.--::::::-----:----..-::-------:::/::--:------::///++so+/:/:::/osyo/:+/://::::-://::::+so+/::---:++::::://-:::/:.
--:-:-:::/::://:-::::/::::::::-::::---:-::/:::-----::/::----:+/:---:::/::-:://////:-::::::::///::--:::-::///////:-:::::::/o++/++//://:/+ooso/::+/oo:/::-//://///o+o///:+//+::::://:-:/::+-
::-:::::/::::::::--:/:://::::--:::::--:::::::-::::::/::-:::-::/:///::-:/:/::::/+//////++/:://+o/:-:/::-://::/+o+/:::///:+yso++++so+///+ooo+////+o+//+/+:/++oo+o+oo+/+/::::::/://:::/:/://.
:::---:::-:-:::/:::///::///::::::::-::::/-:-:/:::::://:::-::::::+++/--:::::///+/://++++//::://+/::::/::/+++////////////+oo++/+/oo+o+////+o///://+/:/://+++ooooyys+/++oo//////://:/:/:://:.
::::-::::::::/:/:::://:-::////::::::://::::::////::::::::::/+:::////:://::::/:::::://////--:-::/://:://:+o/+/:::///////+++++++ooo+o+/+//+/////////+++::/+ssosyso+oo+so++//++///oo+/+/////.
:/::::::::/://://::::///://////::::::::::/:::/::/::::::::::////:////::/:::////:/+oo+/////::::/:////:::/:++///::::////////+++/++oysoo////+++/os+//+os+//oossoosso+oooyyo++/+////+o/+////+:.
:::-:::::-::/:::::/:::::////::::::::::::::--:::::::://:::::/+soooo+::-/+++ss+++/++ooysshsyo///////:::-:::::-::/:://///++/+++++/o+sys++++oss+os+//++oo++//+oooso+oo+oooso++o+//oo+//::///:-
:::::::-::::::/::::/:::::::::::::::::/:::::::::::::::/:/::+shddddo/::-:/ossy+/:-----/oydddso+/////:://///:/:::++/++++//////++/:/:/+/+/+++ssshyo//+++++//:++o+o++osooosso//++++sys++/:////-
//:/:-::::/:://:/::/:/:::::/:::::::/+///:::/:////:::::::/+sdmmmmho/:-----::::::--.-----:ohdho::://::/+o//////://///+o//://://:/+o+/+o+osoyyssss+++///+++/osoo++oso++oo++//++//oyo+///////-
:::/::::///://///::///::::://:::::::/+/::/::///:///:::://sddddhs+/:--------::-:----------:+o+++++/:::///////:////////:::////////+++o+++++o+//+s++////+o+///++oooso+///////+oo/+++++//////:
:::::::::://://:::::///::::::::::::::++/://:/:::::::://ohmhyo+/----------------:-----------://o/::::::::::::/:/:://:/:::/+//+///+/+++///++++++o////+++/+/-:+oossoo+///+++ooso+o+oso//////:
::::::::://::/::/://:/:::::::///++/::/:/+//::::::/:::/ohmh+:--------------------------------:+s+//:::::::/:::::::////////////:::/://+//+ooo++oo/////++/+//:+so+o++osyyso++sys+/+ooos++/+/:
::////:/+/////:::://:::://///////////::://:::::/:/::-/sdy+:-------:------:------------------:+yyso/:::::/::::::/:////////::/::+o+//+/+oo++/o++oo+//////o++/oso+oo++shyoo+/+os+///+os++///:`
::////::::///:::::/:-////://::::/::/::::::::://+oo+::+hdo:-----::-::::--:::-----------------:/sddy+/:://:///////::////:/++//::/oo+o///+++o//++soo++//+/oo++oso++o+++ooooo+osyo///+++/////:`
:/::::::::::::-:::::://:::::::::/::///:///:::::oss+:/smy+:----::::::::----:------.-----------:+yddyo//o+////////::://////+/::::/+ooo++//+o+/oss+//++/+////+/ooo++++++++++++oo+++////////:-`
:::::::::/::::://:://:/:::::::/:::://+////:::::oo/::/ydo::::::::::------------:+/+oo+/:------::+hhhyoo+//::/::/:/::::/o//++//:/++o+syso++ooooooo+o+//+o+/+//+++o/o++++++/+++oo+++////+//:-`
::::::::::::::::/:::::::::---:::::::://:///:::://:-:+hd+/:-:::::-:---------:/odmmmho+::---:----/symdho//:///://::::::/+//++///+ossoyso+//+o+osysoo/::/o+++++++oo+o++++oo+++oyysosso++o++/:`
/:/::::////::::::::/:::::::-::-:::/://///+/::::/::::/hmyo+///:-:-:++++++::/shmNNNdo////::::::---/ohhso+/:/+//++::/:////::/::////+sooo+/+//+/ooo+o++//++///+//++ssooooo/+soosssssss++++/+o/`
//:::/:::://:::::://::/::::::::://::/:///////so/:---:yNmdysss+/+syhmmmmmh+//shdmmdyydys/:::::----/yy++so////oo+//////////////++//+o+++///++/+++ooooo+++//oo++ossysys+++oooooo+oooooooo+/+/`
///:::-:::/:-:::/:/:::/::://///:/::::::::::/+hy/:-.--ymNmhyyyyhddmmmmNNNds:-:syyhhhddhs:--::::::-:+so//++++oo++/:/++//++++/++sooooysssoso+++/+oss++o+++ossossossssosoosy+ooo++++++sssys+++`
////::::////::://:/::::::://///::-:::/::/:::///:-----smNNmhyydmho+++oydmd+---:++shddhs+/:::::::-::/ohyo//+oo+//://o++//+///+hdso//oo+++o//+//+oo++/++//oss++ossosso++ossooso/os+++/osyyoso`
////:::///:::::/::::::::::///::::::/::///++//////:::/omNNmhyyhhhssyyysoyo/-----:+shhy+:::-:::-:-::::+yo:://++/://+++//++++++yhoo++//++s+:///+oo++ooo++o+++//+os++syoooossoosyhs++//ooyso+:`
//://////:/::::::::////://///:::///://///+//::/+ooo/:+dNNmhhddddyyddhhsys+:----::://:::::-:::-::::-:/+/:::/++++///////++o+:/+oo+/+//osyo///o+++ooo++++oo+++oso+/+oso+osyyoossyo//://+o+++/`
::////:::::::/:::://::::::////:/://++///:/:/:://///:--/hNNdhdddyyyyo+oosyo-.-------::-:/::::::::-::-::-::/+++o+/////:::////ossso+///+so+so++osoosoooo++/++++osooosoo+osyyssooo+/:/o++////+`
::///::::::/::::::/:::::::/+/+///://////////::/++::---:yNNmdhysos+//:::oho:.---::-----::::::::::::::::::/s/+oo+/:///++////+osso+oo++ossoooo/os+o++oss+ooo++++oo+shyosso+o+++/++//+so+++/+o`
////:::::::////://////:/://o+///////+o+/:/+o///+//+/--/hNNNdhs::::::::/ohhs+/osyys/---::-::::::::::::://+++++++//////+o+/+++++ooo+ossosoo///+oo+oo/+ooyoo+o++o++oyysso+ooso++oo++++oosoooo.
//+/////////:::://++/////::/:://///oo+////++++++//so/::/hNNmds/:::/:+o++ymmmmmmNNms:--::-::::::::/+////++/+o+////+oo//++++++/++o+/+++++/++os+o++so+/ossoo++/+ooosys++oo++osoo++ooo++ooo+//`
///////////:/::::://///:::::://+/:/os+/://::++///:/:::::+dNNmdhoooo+++++omNNNNmmmmhyshhyyyys+/+//+so+///+///++///oso+/+o++++///+//+++++o/+++++++o++/oo++/+++ssossyso/+ooooo//+++++///+++/+`
+//+/+/+/++////::::////::::://+//oyys+////:/++///:/:/:--:sdNNNdhhddyo++symNNNNmNmmmmmNNNNmmmdyyyyyyhy++/+////:/:/++//:++/+////////+/++++oo//+//+++oo+///:+o+so//+sso//osyo+/:+/+++++osoooo.
//+++//+s+o///:::://///:::://++++hy+/////oo///++++++/:::::osyydddhssosyydNNNNNNmdmNNmNNNNNmNNdhdhhddh+::////://:://////+++///:++++/+//+/++//+///+yso/////+++ss++osyyo/++++++os+oo+o+/+ooso.
:://+++/oo//::::/:////:::///+oo/+o+//++++oo+++++oo++//::::::/ydmddhs+ydmmNNNNNNmdmNmNNNNNNNNNmmhyyyyhs+so+////++o/:::+//+++/+/+ooo+o++/////++o++/o+/+///++osso/+yhhysso++o+ossssoo//+/+++/.
/++/+o++/+++///:/::///////////+/////++++++++oo/o+//////////++yddhdhsydmNNNNNNmmmyyyoysshdmNNmmmyyyyyhysso//////++o////++++++++++++++/////++ooo+/////++++//+++o+/+ooo++oo++//++ooso++/+++++.
///:/+///+soso+/:::////++//:/:::/+///oyoo+//++//////////ossyyymmhyyydmNNNNNmdyyo//osshyydmNNmddhhsyyyyss+/+//:::///:///++++++/++o+///////+ososs+////++o++s+++o++soo+//++/++:/oo+osoo+/++o+.
////:/+/+/++os++::////+/+//:::://///+oys++////+++::////+osoyyohddhhdmmmNNNNmddddddmmmmdhhdmmmmmddhhdysoo+//:/:::::::://+o++o++++s++//+//+o+osyo++++o+s+/+ossso+osyssooo+o++++ooo+//oo+o+++.
/////:+/+/+ooo++/////////+///++////++oosoo+++++//:://+///+oyyshmddddmmNNmNNmmmmNNmmmmdysyshmmmhhhhdhsoso/////://///////oo+++///+oo++o+/++oossooooooooooo++oossoyyhhyossoo/+o/+++o+++oos++o.
//:///+oosyyyso+++////+////++o++oooo+++/+o+/+/+///:///:////+osyhyhddmmNNmmNNNNmmmmmmddhhdhhmNmdddhdhyyhy+////////+oo+//+++////+++//++++/+ooo+++so++++oso+++ooo+osso++ooo++ooosyso++oo+++/+.
///:///+osyyoys+so///+++////+/++oo+++///+oso////:///:///++osossyhddmNNNNmdddmmmmmmmNmddddhhdmdmdddmmdhys+:::///:::///+/+++//+/+////++//++ooos+osoo++++oosso++++++ss+oooooosoossso/++o+/+/+-
::::::/+oo+oooo+o++ooo+oo///+://////////+++o+++/://+/::+oooooyyydmmmNNmNdhddmmmmmNmNmmmhdddmmdmmmmmmdhhs/:://+//::////+/:////+////////+o+++oo+++++o++oosyyoo++/+ossooooo+o+++/+++/+o+++///.
:/::://///++oo+///+ss+///+///+oo+//+////++ssso+++++o+:/oysooshhydmmmddddddmmNNNNmNNmmmmhdddmdmmddddmmdh+:+ss++///://++//:::::::/:/::///+///+++++++oo+osyysso++/+soooo++oosso++++++oo++++/:.
//://///++//+o+////+/:/:////++o+///oss++sssoos+osso//::+ssooyhyyhdmdhdddmmmmNNNNNNNmmmmmmddNmdmdhyhddhy++osyoo+////+oo////::::::::::::::::///+++++sooooysosoo+/oso+oossoooo++oooo+o+++++/:.
+/://///++///++////::/+///:/+//////+oo///+//+++soo++++oosooshdddmNmdmdmNmmNmNNNNNNNmmmNmmmmmNNmmmdddhdhsssyyo++////oo+///++/://:/:::::::::::::///+//+++ossoo++//+oossooo+oo//++oooo///+oo+-
+//+/+/+/////+///////+++/////::/++////++////+//://+oooso//+ohhhdmmddmmmNNmNmmmNNNNmmmmmmdmmddmddmmmdhdhssyyyss+///++o+:://++++//::/:::::::---:////::/++o+o+oo++++oosso++//++ooooosssyyoss+:
+/++++/+/+////+/++////////+/:/://++//+//o+/+///////oooooossssyyddddmmmNNmmNmmmmNNmNmmmmmmhdhhdddmmdddhhsossooso///oys+/://+oo++//:///+/////:://+o//::/+++/+ossoooo+ooo+++/++sso+osshdyso++:
so+ss+o+o+///++///////+/+ooo/////+++/+//+o+/:+ooo+osysoooshyyhddddmmNNNmmmmmmmmmNmmmmmmhhyhdddmmmmmdmddhyyhyoso++osysoo+/+++ooo++///++++////+o++so+///://+++ossso+++oo++++oooo//+osyyysoo+-
o++so+ooo+/+//////+//////+ooo+/++////+oo++o+/+so+//oo+/:/oydmmmmmmNmNNNNmmmmmmmmmmmmmNmyyddmmmNmmmmmdhhdhddhsssyossyyso++o+/+osyo+////ss+//+shsyys+///:://+oosssoooossoo++/++o+/+ooosooso+-
oso///+syoo+o+/////++////+++oo+o++++oso+ooo+++++/++++++/ssdmmmmmmmmmmNNNmdmmmmmmmmmmmNmmdmmmNNmmmmmmdhhdmdysyooo+syyso++ooo++oyso+////+o+//oyyyddo+////////+/+oooosyssoo++/+++++osso++ooso:
hyo+//+oo++++/+++//////+++/ooo+++///++/+oso++/://oys++oshhmmmmmmdmddmmmNmdmmmmmmmmmmdmNNmmmmNmmmmmdmdddmmdddhoosooso+/++++ooo++++///+++++++yhyhdyoo++++++///////++soo++oo++o++++osyyooo+++:
hsss//+/++o+//++o+///::///////+++/:///+////:::/oyooo++ossyhmmmNmmmdmmNmmmmmdmmmNNNmmdmmmNmddmmmNNmdmddddhyhdhyyhyyys++ooo++ooo+/+//ooo+//+ohhhyyo+++oo+++///////+syso+++++ooo++o+osso+osso:
+oso/////////+ooo+/++/:/++//::/+o///:::-::::/+hmy++osyhhhhmNmdNmdmmmNNNmmmdmmNNNmmmdmmNmNmmmmmNNmmmmmmmddddhyhhhyhdmhmdddyssooo++//ooo+///ohdhssoooosso++/////+ooshyo+++/++oo+///oooo+osys:
/:////////://++oo++////++o+/:://////:::-:///oyhy/+shddhhhhmNmmmmdmNNNNNNNmdmmmmmmmmmmmNmmmmNNNNNmmmdhhmmdddddhdddddmddhyssooooo++//+oss++/ohmdo++ossoo+//:///+o++oyyssso+++oos++++ooos++++:
+-:-:///////////+:-:-:::////:::::::/:://::/ohdo/:+ohmdyyhdmmNNNNmmNNNmmmmmdmmmNNNmmNNNNmddmmmNmmNmmdhhmdyyhhdddhhhdddhs+//+++sy+///+oso+//+hmds+ooyy+++////+oshs+//+osso+/++oso++ooo++ooos/
+-:-:://:::::::///:----:::::::/:/:://///:/oydh+++osdmdyyhyyddNNmmNmmmmmmmmmmNmNNmmNNNNmmmmmmmmmmNNmmmdmmddddddhyyhdddhy+++++os++/:/+syo+//oddhosoos+//////+shss++///++oo/+/+o+o+/++++++syy+
s/::-:/:--:/+/::/o+/::--:::/oo++++++++o+/+sydo/+++yhhhhddhhddmmmmmmdmNNmNmNmmmNNmmmmmmmmmmmmmmmNNNNmddddmmddddyhhdmdddh++++syyo+//+osso+/+sddysso++////++sshho++o+///+//////++so+++oooo+oo+`
s+oo/+so/:/yys//shdy+::-:::+ys+//+sso/:::+syo///:/ossshddddmddmmNmmddmNmNNNNmmNNmmNmmmmmmmmmNNmmNmmmmdddmNmhhddmhyhyyys+//+syso+//oyyyyo/+yddsoo++o++/+/osyhyso+++////+oosysooo++ooyysooss+`
ssys+ohdds+shy/:yddmy/::://+ssy+:+hdhyo//shs+/o+//oyoohdddmmmmmmNNmmmmmmmNNNNNNNmmmmNNNmmmmmNNmmmmmmddddmmddddmmhooo+++++++syys++/+ydhs+/+hmdysssyhhs//+syhhhyoo+++/:/oosssssooooooys+++yy+`
oo++o///sysshhs:+syhhy/-:/+oyhhssdNmddyosyhss+++//ohhhdmddmmmmmNNmmmNNNNNNNNNNNNmmmmmNmmmmmNNNNNNmmdhdhhyhyyddmmhysyso+oosdyo+////+syys+/+ymmyyyhddho//+sdhyyyss+++//://+ooo+oysso+sso+oso/`
osys+/:-://+ydy//shhydyoooo+syhyydmmhsoohdyo+//+o+ohyyhyhddddmNNNmmNmNmmNmNNNNNNNNmmmNmmNmNNNNNNNmdhhdysoosyddhdhdddhyoohdds++//+++shsso+symdhdddddsoossydhhyysoo+o++//++ss++yyso+osossyso+`
shdyss/+/+oshho:-/yyyddhso++/oyhshmhyoosyy+/::::+osyddhhhdmmNNNNmmmNNNNNNNNNNNNNmNNmNNNmmmNNNNNNmddydmso/+ohdhssoshhysyddhs+/+++oosyhyosssymmmmmmysoooshhdhhhyyo+//+/+//ossossooossysyhyoso`
ydmdysssyyyhdhyo//oyydmmhyyyo//oydmysoyhyo/::://+yhhhdhddmmmNmNNNNmNNNNNNNmmNmNNmNmmmNNNNNNNNNNmhyyyyyyo+/oyyyo++syyyhhdhhyso/++oo+osysoooymNNNmhs+o+syhhddhysoo+/++++/+++shys++oosssysooo+`
dmdhhyyyhhyyyhysyssosyhddhyys++sydddhhhys+/:::/+ssyhhddddmmNNNNNNNNNmmNmNNmNmmmNmmmNmNNNNNNNNNmdsoyhhssso++/osoo++sydhsyhhso+++/oooosss/++ymNNmsos+++yyydhydyo+++oso++/:/+oyso+osyosssooys+`
hhdhdyyyhhhyyyhyyhhysysyhdhhhysodddmddhyyysoo+ososydmmddmdmNNmNmNNNNNNNmNNNNNNmNmmNmNNmNNmmNNNNmy+++ossyso+/ooo/++ohys+oyss+++++ooyysyyssydNNmdhhs+/+yhhdmdy+/+osyhso++///+ssoosysoosssooso`
dmdhdhhysyyhhsysssddmdyshdmmdhsydmmddmdso+++sssydhhmmmmmmdmmmmNNNNmNNNmmNNNNNmNNNNmNNNNmNNNNNNmho+//osso+///+o+:/shyyyyyso+//+ossyhssoshhhmmmdmmmdyosyyhmmyo+ooysss+++++/++oysyyhsso+osoo+o`
mmdhhyyhddhhyyssosdmNmhyhhmmNdhhhdmdmdhsoo+/+++yhyyhdddmmddmmNNNNNNNmNNNmNNNNNNNNNNNNNmNNNNNNNmys+//+ooo+////+:/yddys+oosoo+++/oyyyossssshmmddNNmyssyhddddso/:+//////:/+ooooyyyyssooooyyys+`
mNmddyyhhddddddhsydmNNmddmmmNmmmmdmmmds+oysss++syoosyhhhdddmmNNNNNNNmNNNNNNNNNNNNNNmmmmmNNNNNmyo//:+oo++//+//oyhhyyyhys+++++o//syysosoyyhdmmNmmddyssyhhhhyo+:/:::://////++++osooo++oosdhys+`
NNmmdyhddddddmmdddhhmNmmdddhdmNNNmmmmd+/+ssys/oyysosyhdhddmmmNNNNNNmmNNNNNNNNNNNNNmmmNmmNmNNNmo/:::/+++///+++yddssosshhso++oooooydyysssshdmNNmmmmdhhhddhoosoo++//:::/:////////+o+ooossyyo++`
NmdmdddddddddmmdddhydmmNmmmmdmmmNNmNNds+ssyys++sydddhhdddmNNNNmmNNNNNNNNNNNNNNmNNNNmmmmmmmmNNdo/////+oooo+/ohmdso+oooyhsooossoooyhhyyyyhdhmNNdddhdddhsso+oyhyhhyyoo+/:/:::/+//++osyysoo++oo`
NmddhddddddddhhyyhddmdmmmNNNmmmmmmNNmhooo+oyo//oyhhyysyhmmmmNNNNNNNNNmmNNNNNNNNmNNmmmmmmmmNNNdsyyyssosso+/ohddhssyhhyss++syysosossssoshmmmmNmdhhydddyo++shmmmmmmmmdhys/:::://///+ossoooosyy.
NdssydddddmmmhhhyddmddmNNNNNNNNNNNNNmdooo+ohyoshdho+ooosdmmmNNNNNNNmNmNNNNNNNNNmmmmmmNmNmNNNms+oyysoos+oooydhysyhyyhhho/+yyyssoosysooyddmmNmmmdsyhyys+sdmmNNNNNNNNNNmmdo//::/:/++sosssyyhhh.
NmhdmmmmmmmmmmmdhddddddmNNNNNNNNNNNNmyooooyhhsosoo//+shhhmmmNNNNNNNNNmNNNNNmdNNNmmmmNmmmmNNNms//o++++ssooydhsoyyyyyoyso++ssyssssssyhhhhyhmNmNmmyosssyhdmNNNNNNNmNNNNNNmyo/:::///+ossoyysyss.
NNmmNNmmmmdmmmddhddddhddmNNNNNNNNNNNmhysyyhdmdsoossosydmmmmNNNNmmNNmmmNNNNNmmNNNNmNNNNNmNNNNms+/++oosssoshdhooosssyyyyo+yhyyhdy+osyddhyshmmNNmmyyhydddhdddhsyyyyyhhhyhdsso/:::::/oooooyyyyo.
NNmNmmdddmmmmmhdmmmdhhdmmddNNNNNNmmNmdyyhdhdmyoohhdhysyhmmmNNNmmmmNmmmNmmNNNmNNNNNmNNmNmmNmNmysssso++//oydysso++sssssyyysssshhyyyhdmhhyyhmmNNmmmmmmmdhhdds+::+shddddhhhdddyo/::::+oysshyyhs.
NmmNmmdddmmmdddmmmmmmdmmdyyhhhyhyooyhhyhddhddysoyyyyysyhmmNNmmmmmmmmmmNmNNNNNNNNNNNNNNmNmNNNmsssshyo//+ydhyossoyhhysoyysooshhyhhhhddhyhddmmNNmmmNmNmmNNNmdys+//+osymNNNNNmmdy+:::/yhyyyssso.
NmmmmNmddmmdmmdmmmmmmmmmmhhyyyyhho+shddhhhyhhys++osyyyyyhmNNNNmNmmmmmNNNNNNNNNNmNNNNNNNNmNNNmyossssssshmdyso+sshhysssyysshdhysssyhddsydddmmNNmNmmmNmmddNmmNmdysoo//+ydNNNNNmmhs/:/shhyssooo.
mmmmmNNddmmdmmmmNmmmmmmNNmmhdhysysyhmmdhhyshdo//++yyssyhdmNNNNNNNNNNNNNNmNNNNNmmmNNNNNNNNmNNdsosys++shmmhosss+sdhysshhdhhddhyssyhdmdhhddmmNNNNmmddhyo//ydNNNmmmmmdhy/+ohdmNNNmds//oyyyossss-
mddmmmmdddmddmmmmmmmmmdmNmmdhhyyyyyhmmhhhsyddo//+osssshdNNNNNNNmNNNNNNNNNNNNNNNmNNNNmmNNNNNmyoyyyo+/smNmhyhys+oyhhhdhddddddhdhddddmdyhhdmmNNNmyoos+/:://osssydmmNNNmhys+/+sdNNNmy+/+sssssso-
mddmmmdddddmdmddddmmmmdmNNmdhhyoyhhdNmdhhshhdy+/osyyyhdmNNNNNNNmmNNmNmmmmmNNNNNmNNmmmmmNNNNmyosyhyo+hNNmhsoo+osyhdhhhhmmdmdhdddddhhhyyhhdddhys++++::/oyyhso+ooooyhmNmmmyo+:+ydNNmhsooooo+oo-
mmmmmmdddddmmmmddmmmmmmNNNmdhyhyyhhdmmhyhhhyhyooydysyhmmNNNNNNNNmmNNmmmh/oymNNNNNNmy+shNNNNNyyhhs++smNNdyo+ooshhyyoyhhysysso++//+++/:://///::/oydhso+/oyhddhdhho++oshmmddy+/:+shmmdyoyoo+os-
mmNmddmdddmNNNNmdddmmNNNNNNmhhddddddmhhhhhhyhhyoyhyyhdmmNNNNNNNmmmNNNmmd+:-+yhdmNNmy:/yNNNNNhys+/:+hNNNys++ysoso+/:+o///////::::::::::::/++/:::/oshdh+:+shddddmdhhsooyhhdho////+oyhyosyy++s:
mmmmddmmmmmNNNNddhyyddmmmNNNmdddddmmmhhhhhhyyys+sysohmNmNNNNNNmmmmNNmmmmdo/---/++shy/odNNNNNho/::/sdNmdso//+/:::::::::::////:::///////:///oo++++//+ydhsoosyhhhdmmNmdhyssssso+/ohys++oyyoo++-
mmmddmmmmNNmmmmddysdmdmNNNNNmddddmmNmddmdyhhyhysyhshmNNNmNNNNNmNNNNNmmNNNmdysoo+/:::-/shdmmdhy+/::++o+/::::::::///::/:/:://///++ooo+/:/ooossyhhyso+++ossyo/oysyddmNmmmdmdddhysydmdyo+ssss++-
mmmddmmmNNNmmmmdddhhddmNNNNNmmdddmmmmdmddddyhddyhdhhmmNNmNNNNNNNNNmmmNNNNNNmmNmhso/:---:://:/oyyo:::::::::///////:////::::////ossyho+:/+ssooshhhhhhhysooyo///shhdmNNNNNNNNmdhyoydmdhysssooo:
mmmmmmmmNmmmmdmmNNmdmmmNNNNNNmhddmmmdddyhhdyyddyhdhhmmmmmmmNNNNNNNNNNNNNNNNmmmhys+/:--::::::::+hmy+/::::://++/+////////////+++oyyyyso+//++oo+yhdmdddhmmmmhsysoyhddmmNNNmmNNmmhssyddhyyssoso:
NmmmmNmmNmmmmmmNNmdmmmmNNNNNmmmmmmmmmmmdhdhhdmmysyydmmmmNNNNNNNNNNNNmddhhhs+/:-::::::::///:::/:/oys/:/:///++/++++o+++oo++++o++oyhhdyyyysoo+osyhdhhdddmmNmmNmdsoshddddmmddmmmmdhoyddooyssyys:
NmdddmNmNNmdddmNmdddmmdmNNNNNmdmddmmmmmdmdhhdmNmddhhdmmNNNNNNNNNdsoo/----.--:////::::::::::::///:oys////+////++osysoyyhyssssooohmmmddddddh+/+osshddmmddddmNNNmhyssyhyhdhhdmmdhhhhhyoo+syyhd/
mmdddmmmNNmmddmNmmmdmmmmNNNNNmddddmmNmmmmdhhdmmmmdddmmmNNNNNNNdo/::::/+/+oyydmho/:::::::://///://sddo/::///+/++++oooshhssyyhhyyhmmmmmmddmddhho/+shdddmhsshNNNNmmhysyhhhdmmmmdhhdhyoss+syyyy/
mmmmmmmmmmddddddddmdmmmmNNNNNNmhmddmmmddmhhddmdhhdhdmmNNNNNNms/:/yhyddmmmmNNNh+/:://::::////:/://+yddy+/////+oo+o+ss+osyhhdmdhyshmmmddmmmNNNNmhy+++oosysyhmmNNNNmdhssosdmmdmdhhhdhssyyhhysy/
mmmmmmmdmmdddmmmmmmddddmmNNNNNmhmmmNNmdmmdddmmmhhmhmNNNNNmds//+sdNNNNNNNNNmy+:/ohhhyo/:::::////::+sdmhoo++//++/+/+ososyhhhddyysyydmmdddmmNNNNNNmdyyo/+yhhyhmmNNNNmdhs++oyhdmmmmddhhhddhhhyh+
mmmmmddddmmdmdmmmNNmmmmmmNNNNNNmmmmmddddyddhdmdhdmmNNNNNmhyssymmNNNNNmmmhy+//+hhNNmho//:///+//:::+odmy++oos//////+syhdddmdddhhyysydmmdddmNNNNNNNNmmNmhdhyyhdddmNmNmmNmyyyyddmmmdhyyhhhddyhs:
NmmddmmdddmmmdNmmmNmddmmmmNNNNmmmmmmdddhydhhdmddmmmNNNNmhyhdmNNNNNNmmhososhhmmNNNNmy++/////+/////+smmhssysyyoso//ooyhhdmdhhhmdyysymmmdddmmNNNNNNNNNNmmmddddhhhdNNNmNNmmmmmmdmdddyhyyhysyhdy+`
NmmdhdmdmddmmdmNNdmNmmmNNNNNNNmddmmmmmmdddhddmdhhmmmNNNNmdmNNNmyhNNmmhddmmNNNNNNNNddddyo::://::/:ohmmmyyhhmmdhhyyossyddmmddddhhyydmNmmmdmNNNNNNNNNNNNNNmmmmddmdNNNNNNNNmNNNNNmdhyysyhyhhdhds`
NNmmddmddddddhdddhhmmmmNNNNNNNmmmmNNNmddyyydmNmyhddmNNNNNNNNNdo:/mNNmNNNNNNmmNNmmmmmNmh+/:::///+oymmmmhhhmmmddmmmdyyddmmNNmmmmdddhmmmmmdmNNmNmmdmmNmNNNNNNmNmmNNNNNNNNNNNNNNmmdyysyoyhhdhyhs`
NNNNmmmmdmdhhhdddhyhhmmmNNNNNNmdmNmNmmdhhhhhmNdyymmdNNNNNNmhhs+syhNNNmNmNNNmNNNNmmmNNmhyssoshhhddmmNNmdhhmNmmNmmNmddmNNmNNmmmmmmmdmmmmmmmmmmNNmNmmNmNNNNNNNmNmmmNNNNNNNNNNNNdhhyyyyyhyhhhhyo`
NNNNNNNNNNmmmmdddddmdmmmNNNNNNmmmmmmmdhhhhddmdhyydmdmNNNNh//syhhddmNNNNmmNNNNNNNNNmmmmmmmmmNNNNNmmNNNNmhhmNmmmmmNNmmNNNNNmmmmmmNmmmmmmmmmmmNNmmmNmNmNNNNNNmmNNNmNNNNNNNNdddhhhhyyyhhhyyyyys+`
NNNNNNNNNNmmmmddmmmmmmmmNNNNNNNmmmmmmhyhhdmmdmmddmmmNNNNmyosdmNNNNNNNNNmmmNNNNNNNmmmdmmmNNNNNNNNNNNNNNmmmmmmNmmmmmmmNNNNNNmmmmNNNNNmNmmmNmNNNmmmmmNmmNNmNmNmNNNNNNNmddhhyyhsyyyhhdhhhhhyydho`
mNNNNNNmdhdddmmmmNmmmmmmNNNNNNmmmmmNmdmddddddmmydmmmNNNNNmmmmNNNNNNNNNNNNNNNNNNNNmmmmNNNNNNNmNNNNNNNNNmmmmmmmmmmmmmmNmNNNNmmmNNNNNNmmmmmNmNNNmNNNNNNmNNNNNNmNNmdddyyyyyyssssydhhddhyyhdhddho`
NNmmmmmdddmmmNNmmmmmmmmNNNNNNNNmmNNNmddmdddhhmdhdmmmNNNNNNmmmNmNNNNNNNNNNNNNNNNNNNNNNNNNmNNNNNNNNNNmmNNNmmmmmNNNmmmmmmNNNNmmmNNmmNNNNmmNNNNNNNNNNNNNmNNNNNmdhhyooooyhyyysssyhhdmdmdhydhhhhho`
NNmmhddhhdmmdddddmmdmddNNNNNNNNmmmmmddmdhhddhddhdmNNNNNNNNNNNNNNmNNNNNNmNNNNNNNNNNNNNNNNNNNNNNNNNNNNmNNNNNmNNNNNmmmmmmNNNNNNmmNNNNNNNNNNNNNNNNNNNNmNmNNNNmdysyyyyssosysyyyhdhhdddhddhhhhhhhs`
mNNmmmmddhddyssssyyyddmNNNNNNNNmddmdhdddddddddmhmNNNNNNNNNNNNNNNNNmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNmNNNmNNNNNNNNNNmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmNNNNNmdyyhyydhoosyyssyhyhddhhhhdhhydddhs`
mNNmmmmddddddsyhhyhdmmNNNNNNNNNNNmmdhhhhdhhdmmmdmNNNNNNNNNmNNNNNNNNmmNNNNNNNmmNNNNNNNNNNNNNNNNNmmmNNNNNNNNNmNNNNNNNNNNNNNNNNNNmNNNmNNNNNNNNNNNNNNmNNNNNNmmmyyyyyyyooyyhhyhhyyhyhysyhhssydhys`
NNNmmNmmmmNmmmmdddmmmNNmmNNNNNNNNmNNdhdddddddmdhmNNNNNmNNmmNmmNmmNmNNNNNNNNNNmNNNNNNNNmNNNNNNNNNmmmNNNNNmNNNNNNNNNNNNNNNNNNNNNmmNmdmNNNNmNNmmNNNNNNmmNmNmmmhhhyhdyoosyyhhdhhyhhyhhhhhhhdhyso`
NNmmNmmNNNmdddmmdmmmmNNmmNmmNNNNNNNmdddmmddddmddmmmmmmNNNNNmmmNNNNmmNNNNNNNmmNNNNNNNNNmNmNNNNNNNmmNNNNNNNNNNNNNNNNNNNmmmmmmmmNmmNmdmmmNNdmmmmmNNNNNmmmddddddhhyhhysssssyyhhhhhdddhysshddhyso`
NNNNNmddmmsosyhddddmmNmmmmmNNNNNNNNmhdyhdddmmmdhdmmmmmNNNNmmNNNNNNNNNmmNNNNNNmNNmmNNNNmmmmNNNNNNmNNNNNNNNNNNNNNNNNNNmmmmmmddhhdmmmmdddmmyhdddmmNNmNmddysyhhdhhhhyyyyyyyyyhhddddNmdyyhddddhyo`
NNmddhssyyyooyhddmddmmmdddNNNNNNNNmmdhyyhhdmmmdhdmmmNNNNNNNmNNNNNNNNNNmNNNNNNmNmmmNNNNNNNNNNNNNNNmdmmmNNNNNmmmmNNNNNmdmmNdhdhdmdddmdddmhyyydhmmmddmdddy+oyddddddsssysyhyyhhhddddhdhdmmhhsyys`
NNmhysosyyhddhdmmNmmmmmdddmNNNNNmmdhyhhdhhdmmddyymmNNNNNNNmmNNNNNNNmNmmNNNNNNNNNNNNNmNNNNNNNNNNNNNmdddmmmmmNNmmmmNmmhhdmmddddhddhhhhdddhhyyhddmdddddddhyssyhmdhysyyhyyhyyhyyhdhhhhhhydhyosyy`
mNmddhdmmhhddhshdddddddddmNNNNNmmddyshdmmmmmmhdyymNNNNNNNmNmNNNmNmmmNmNmNNNNNNNNNNNmmmmmNNNNNNNNNNmdddhhdddNNmddmmmmddmdmdhdhymdyyyddmddddddddddmddddddhyooydhyyyyddyyhyyhysshdhyhhhhddddddh.
NNmmmmmNNmdddddddyyhhddmmmNNNNmmmmdyyhhmdmdddhddhmNNNNmmmmmNNNNNNNNNNNNNNNNNNNNNNNNmmNmdmNNNNNNNNNmdhyyyddmNNmmdmmmmmmmmdddysoydhhhdddmdddmdddhydddhyddso+ooshhysyyyyyyyyyyyyhhhhhddhhhddddh.
mmmdhhdddhddhhdddhhdmmNNNmNNNNmNNmdhhdddhdhhddddydNNNNNNmmNNmNNNNNNmmNNNNNNNNNNNNNNNmmmmmNNNNNNNNNNmyshhhddmmmmdddmmmdmNNmmdhyyhydmmddmmdhddddhyhdhssyhs++++sddddyssyyyyyssyhhhhhddhddhhhhdh.
mmdhhhhddhhhhhhmmmmmmmNmmmmNNNmmmmhhdddhdmmmmdmddmmmNNNNmNmmmmNmmmmmmmmNmNNNNNNNNNNNNNmmNNNNNNNNNNNNhysoydhhdmmdddmmmdddmmmmdyyyyyssyhhdddhyydysyyyyyyyo+++oohhhdhysssosyyysyhhhhhhyhddhhhhs.
ddyhhhhhddddmmmmmmmmNNmmmmmNNmmdmdyhdyhhddmmddmmddmmmmmmmmNmNmNmmNmNNNNNNNNNNNNNNNNNNNNmNNNNNNNNNNNNdy++oyyyhdmddmdmmmdhdmddhysyssoosssyddddhdhyhhyhhhsoosyso++shysossyyyhddhysdhdhhhdmdhhhy.
hdmhhhysyhdydddddmddmmNmmNNNmmmmmdhhyyhdmmmdddmmhdmNmmNNNNNNNNNNNNNNNNNNNNNmNmmNNNNmmNNNNNNNNNNNNNNNmho+ososdddmdddddmdhhddhhhysyhsyhyyydddmmhydddddmmmdddddh++osyssysyhyhhhssyddhhdddmddyhh.
hddhdddhdhyyhdhdmmhhdmmmNNNmmmmmmmddyhdmNNmdddmdhddmNNNNmNNNNNNmNNNNNNNNmNNNNmmmmdhhmNmNNmmNNNNNNNNNmdyo+oshhhhmdhhhhdmhhmddddysshhdmdmdddhdddyhhyshdmdyhhyyo//oyyyyysyysyshhyhhhhyhdddmhhhs.
hyysyhhyhddhhdddmmddmmmmNNNmmmNNmhdhdddddmmdmdddhhmNNNNmmmNNNNNmNNmmNNNNNNNmmmmmmmdddmmmNmmmmNNNNNNNmdhsosyhhyhdhyhhdhhdmmmdddhyhhyyyyhhdhhdddddhyyhhhhydmdho//+oyyyyyhhhhhddhddhsyyhhhdyhhy.
yyyooysyhddhhddhmmddmmmmNNmmmmNNmhhyhddyyhddmmddhymNNNNNNmNmmmmmNNmmNNNmNNNmmmmmmmmmmmmmmmmmmmmNmNNNNmdo+/+syyhdhhmdhddmmmddhmdhyysssosyhsyhdmmhyyysysyyhmmdo/::/oosyyyyyyhhhhhdhyssyyyshhhh-
syhyyddhhdddmmmdmmmdmmmmNNNmdmNNmddhddddhdddmmddhhNNNNmNNmmmmmmmmmmmNNmmdmmmmmmmmNNNmmNNmNNNmmNNmNNNNNmho:/+osydddmdddmdhdmdddmdhhyyyyssysyyymdyyhhyssyyydddho///+ssyhhsssyyyyyysssysyyyhdhh-
hhyyshdhdddmddhhdmddmdmNNNNmmmNNmdddmdsyshmmdddhyhmNNNmmmmmmmmmmmNmmNmmdmNmmNNNNmNNNNNNNNNNNmNNNNmNNNNNms++sosddddddmmmmmdddddddmdhyysoosshhhddddyoooosyo+oyso+/+syysyhyssysshhhdyhhysyhhhhh:
ddhysyhyyyhyyssyyhhddhmNNmmdddmmdhhhhyyhyhdmdhdhddmNNmdmmmNNNNNNNNNNNNNmNNNNNNNNmNNNNNNNmmmNNNNmmNNNNNNNNdyhdhsyyydhhmNmmhyhyhdhhhyyhyssooyyyhdmdyoo//++ooyysossoooyhhhyyhhysyyhdddhyyhhyddh:
yydhhhhhyssssyyhyddmdmmNmmddmmmdysyyosymddmdddhdmmNNNNmNNNNNmNNNmmNNNNNmNmmmmmNNmmmNmNNNNNmNNNNNNNNNNNNNNds+osyhysoyyhdmmhhssdmdyhhhhhyoo+sysyddhdhss+/osyyyyyyyo/+ohdyyhdddhyyssssyyhhdyyhy:
syhhhhydhhdyyyhhhmmmmmNmddddmmdmdhhhyyyyyhhhhhhddmNNNNNNNmmmmNmmmmNmNNNmNmmNmmNNNNmmmNNNNmmNNNNNNNNNNmNNNdo/+osysoshhhdhhhyyymNdhdhyysysoo+ooyhhdmdhho///osyyyys+//shdhhdddhyyssoo+oyddhhhdy-
yyyhhhhhddddddddhdmmmdmddhdmmmmdhyyyysyyydddhdhsydNNNNNNNmNNmNNNNNNNNNNmNNNNNNNNNNNNmNmNmmmNmmNNNNNmNmNNNNh+++ooosysyhdhhdhhhddyshhhyhhyssooosyydhhdddys+osddyo+++/+shhhhhhsyhshdhyyhhhhhddh:
yhhhhhhyhyyhdmNmmmmmmmmdmdNmmmmmdhyssshdhdmmmdhyhmNNNNNNNmNmNNNNNNNNNNNNNNNNNNmNNNmmmdmmmmmmmmNNNNNmNNNNNNd+:/+ssssshddhyhhhhhhyhyyyyhyyyo+osshysyyhddhs+osyyso+/+/+oyhhddhhyyyyhdmmdhddddhh/
yyhyysyyyyyhdddddmmNmmmddmmmmmNmdddysshddmmdhyhhhmNNNNNNNmmNNNmNNmmNNNNNNmNmmmmNNNmmmNNNNmmNmNNNNmNNmNNmmmmy+//osossyhhhhhdddhhhdhysosyooo+oo+syoosyhddhys+oshso+/++shhhhddysyoshhmmhhhdhhyy/
sshhhhyhyydddmdmmdmNmmmdmdmmmmNdysyhyhyhhhhhysyyhmNNNNmNNmNNNNNNNNmNNNNNmNNmmmmmNNNmmmNNNmmmmmmmddmmmmdddmmmy+oyhdddyyyyhddhhhyyyyssysossssyys+yyyyhmmmmhyooydho+//+ydddmmhhyysssydddhhhyoss/
ssyhhysyhhmmmdmmmmmNNmmNmdmmmNNdyyhhhhhhhhhhyhhhmNNNNNNNNNNNNNmmdddhdmmmdmmmmmNNmmmmmmmmmmdddddddddmdmhydmdmh++osyyhhhhyyhyyhyssssyyhhhhhysshyooyyyyhmmNmdhsydhs+//+sdhddyyyyyyhysyddhdhhyhh/`
yyhhhhyhhyhdddmmmmNNdhmmmdddmNNmhyhhdhyhddyhyhyhmNNNNNmhhy++o+++/+ooyhhddddmdmmmddhdmdddddhshdhdddhdddyhdmmddy+++ssyhyyyyysyyssyhyyhdmmdddhhdhosyyossydNmmdysosoo//oyhhhdyyyyhhdysyhdddddddh+
syyyhhyhdddmmmmmmmmNdhdmddddmNNmdyhdhyyydmhhysymNNNNNdo/::::/::://:///+osyyyyhhddhyhdhhhdhssyyyhdddhddhhddddmmy++shdhyyyyddhhddhdyhydmddddhddyyyyyssooymddhoo+++o+/sddmmdhyyyyhhdhhhdyhhhhdh+
yhyyhhhddhdddmmmmmmmmddddddmmmmdhyhhyyyhdmmmhosmNNNNNdsso:////::::::/:////shddddddddddhhdyyyyyhmmdddddyshdhmNNmysshhhyhhdddyyhdhhhhsshdmddyoyyyyoss++++syddhysoo+//smdmdddhhhhhhhdddhhhhdhhy/`
yhyyyhhhyhhddmmdmNNNNmddmmmmNNNmdhyhhddhdmmdhosdmNNNNmhys++oo+/:::////osooyhdmmdddhhhdhhhhhddddmddhyyhyyhdmmmNNh+ooossoshhysyhdhhddddddhyhhoosyysysoooo+oyhddhyoo+/ymmmdmddmddhhddddhddddhhy+
hhhhdmdddmdmmmmmNNNNNNmdmmmmNmNmhhhhddddddhsssydNNNNNNho+/////://+ooshdmddmddmmddhyhdmhyhhhhyhddddhyysyyyyyyhmmho++o+++oyhssyhyhddmmdhhhyyhyyhysssoooo++o+sddmdys++ymmmdmmmmmdddmdhhhhhdhyhh+
mdhhmmmmddddmmmNNNNmNNmdmmdmmmmdhhdddhddmhhyoydmNNNNNNmhs+++oooohdddddddhhhyyyyssosysso+yyysyhhddmddyhdhyyyyhdddyo+oooyhhdhdddddmmmdhhhdhhysssyysoysso+osssyhhhhhs+ymmNNmmmmddddmdhyyshhhhhh+`
ddddmmhddhdhhmmmNNNmmmmdhdmmmmmhhhdddhdddyyshdmNNNNNNNNmhhhysoo++ooo+++////:/++++oossoooyyhyyhhhhdmdddhdhhdhddddmhs+/oyhhddddmmNmmmdddhhhhysssyyhhhssssssysyyyyyso+yNNNNNmdddhhddddhhsyhhhhh+`
/shddhhhhhmmmmmmmNNmNmmdddmmmmdhyddhhhhhhys+ymNNNNNNNNmddyyo//:::::--::::///+osyhddhhyyhdmdhyyhyyhdddhyyhyysydddmdho++/+sdddddmmmmdhhddhhhsooyyyhhyysoyyoo++ossyo++smmdmmmdddhhhhddhhhhhhdhho`
::+sydhhhhmmmmmmmmNmNNmmdmmmmmdhhhhyyhhyysssdmNNNNNNNNmh++o+//+//////+osshhhdhddhhdyyhhhhdhdyyhhddhdysssyhhyhhdhdmmho+++shddmddhyssyyhhyyyssyyyyyhhyssydy+//+osyo+/ommmmmmddmhdhdhhdddhhdmdds`
ohhhhmmmmdmmmNNNNNNNNNNNmdmNNmhyyhhhysyssooymNNNNNNNNNdo::///+sooyyhddmdhddhysyso+osyhyssshhyydddddddddddddddmdddmdds+oosyyyhdhsooosssyyyyssysyhhdhhyssyys+/+yso+++ommNmmdddmdddddhdhhyhhhdho`
+smNNNNNNNNNNNNNNNNNNNNNmmNNmmdhyydmhyyssyymmNNmmmmNNdo:::/+++o++++oooo+++++////+++osyoo+oyhysyhhhhddhhysysyhhddhdmdhs++++oshddyyysosyhhdhyssosyhhhyssosysoosssoo++odNNNmmdddddmddhhddddhhdds`
/odNNNmmmmmddmmddhyhdddddmmmmdhhhhhddyhhdhmmmNmmmNNNNh/-:/oo+//:////+oso+///////++oo+oosyhhyyyhhyyhhhhhhhhhhhddhhdddddy+//oyhhhhhdhyyhyysosss++oyhyyyyyyysssyyyssoosdNNNNmmmdhdmddddmdhhhhdds`
+ymmddysoo+++++//:::://+/+oso++++++oooossshhyshydNNNNy///+oso+++//////o++/:///++o++o+shhyysyyhhyyhyhhdddhddddyddhhdddmhs///osooyhyyyyhhssssssssyyysyyyyhyhhhhhyssoosdmNNmmmmddmmmmmdddhyhhhdy`
ymmy+/::::::/::::::::/:/:://+////+++o+//++++/://shsyysosyhhhhyhhdy+///+ooo//++oooooosshysoyhhhhhhhhhdhysshhddshhyshddddhyo+ossoo+osyhdhyhhssssyyhyhhyssyyyyhhhhhs+osdmNNNmmdddmmmdmdhdhhyhhhy`
mmho:/::/++///::///+/++oyhyyyhysyyyhhhysyhdhs/::/++/:/oyhhsssydNNNdso+oyyysssoo++ooooosssshdddddhdddddyssyyhhosyysyyyhhmmhosyyyssyyyyhhhdhyyosysyhhyysshysyyhddyysshmNNmNmmddmmmdmmddddhhhhhs`
mdo/////+++///////+++oosyyhdhhhhdddhdddhdddd+/o+ooysoyhmmdyshhmNNNmy//+o+/+++++////++++++oyhdmmddmmmmmhyysyhyyyhhyhhyyymmmhosyyyhhyyyhddddhyyyyshhdyyyssyyyyyhdhhysymNNmmmmdddmmmmmdddddddhdh`
mh+/:///+/+//+/////++oososyysyhhhhmmdhhdddmd+/yhyyshddmNNmmddmmNmmds+//:::////+o++/++ooosyyhdddhhmdhhhhddhdhhyhdhhhddddddmdysyyssssyhdddmddhhhysyyyyyhssssssyyyyooo+dNNmNmddmdmmmmmmdddhhdhdh`
my+/::///+++/////+ooosooosyssyhhhhmdmmmmdhddhddddhhyddNNNmmddNNNNmdhs+o+++++/o+oooooosssoooyhhhyyhy++ssysyyssoysosoyyyhhddddhsoooo+++syhdhdhhhsooshhyyysoo+ossys++//dNNNNmdmmmdmmmmddddhyhhdh`
yo+://://++//////+osyyoo++syhdhhdddmNmmdhhhdddddhhhhdmNNNmddmNNNmmdho/++/+//////++++++++//oyyhhyyyooooooyyyyyssyssosyyhddddmdmyoosysoooshhhdhdhyyyyyhyyyso/++oso++//omNNNmmmNmmmmmddddddddhhh`
+/////://////:///++ssyyso+oshhhhhddmdhhhhhhdhhdhdmmydmmmmNmmmNNNNddy+/+////+++/+++ooo+ooooshhddhhdddhyyyyyhhssoooyossyhddddmmmmdysyyhysyyyhhhdhhdhhhhddhoo+++/++////+hNNNNNNmmmmmmmdddddddhhh`
+::::::::://///////+syyss++ooshhhhhdhhddhhhddmdhmmmddmNmdmNNNNNNmmdhhsso++++sossoooyssyhhssyhdhdyyyyyhhhhyhyyso+/osysyhddmmhmNmmmdhyymmdddddmdddhyhhhddhsoo+//o++o+//omNNNNNNmmNmmmmdddyhhhhh`
o///://///+//++++oo+ssyyssoyyhhhdhhhyyhhhhdddddmmmmddmNmmmmNNNNNNNmdhoo///+osssyyydmdhmNmdhdmmddhyyhddhddyshhhhyyyhyyhhdddhhmNNNNmdhyydddddddhdyssssssyhs++++/+++so+//yNNNNNmNmmdmmddddhhddhy`
hhdhdhdmmmddddmmmmmmmmNNNNNNNmmNNmmmdhmmmmddddmmmmmmmNNNmmmmmNNNNNmdyys+oo+sosyhhdddhhddddhydmmmdhhddhhddhhdddhyyyhdddyhhhyhmmNmmmmmdyhddhdhyhyyoosoosooo+++++++++///:/smNNNNmmdmmmmmmmmdmdhh`
NNmNNNNNNNNNNNNNNNNNNNmNmmNmmNNNNmNNNNNNNNNmmmmNmmmdNNNNmmmmmNNNmmhs++ooosyyo++yyshhyyhyhdhhdmmmmmhyysssoosssyysyhhhyysyhhddmNNmmmmNmmdyyhhyshhhsyyyysyooso+/++/://:::/yNNNmNNmmmNmdmmmmmdddh.
mNNNNNNNNNNNNNNmmmddddhhdmmmmNNNNNNmmmmNNNNmmmmmmdmmmNmmmmmmNNNNmdho+/+/:/+o/////+osyoosshdhddddmdsyysso++sosssssyyyhhysyhdmNNmmdmmmmNmmhssyyysysyhssosoos+//++/++oooydmNNmNNNmmNmmmmdmmdddhh.
NNNNNNNNNNNNNmmdddhdhdmmdmmmmNNNNmmmmdmmmmmmdmdmmmdddmmmNmNNNNNNNNmdhhhhysysssosoosyhssshhdhddmmmmddyso+osysssyyyyydhhhsydmmmmmmdNNNNNmmmdddhyysyyso+syhdddhdhhdhmmdmmmNNmNNNNNmNNNmmdmmdmdmd.`
NNNNNNNmNNNNmddhddhhhhdmdddmmmmmmmmmmmmmmmmmddmNmmmmmNNNNmNmNNNNNNmyyysyysssddddhyddysyhhddhdmmNNmdyso+++soooyhssooysyyyyhdhddddhdmmmNNmmmmNNmmNNmmdmmNNNNNNNmdmmmddmmmNNNmmNNNNmmmdmdmmmmhdh.
NNNNNmmmmmmmmmhhddhddddmddmmmmmmNmNmmdmmmNmmdmmNmmmmNNNNNNNNNNmmdmdsysoooooyyyyyyhddmdhddmmmmdmmmmmdhysooydhsyyyhyyyyhhdddmmdmmmdmdmmNNmmmNNNNNNNNmNNmmNmmmmdddddmmddmmmmmmNNmmmmmNmmddmmmmdd-`
mNNNNmmddmmNNmddddmmmmmmmdmmmmddmmmmNmmmmNmmmmNmmmdmmmmmNNNNNNmmmmdhhhyhddhddhyddddhhdhhhhddddmmmmmdhhssyhddhyyyhhhdddhdddmdddmmmmdmmmmdmmNNmNNNNNmNmmNmdddhyhdddmdddddmmmmmNmNNNmNNmmmmmmmmd-`
NNNNNmdddddmmmdhddmmmmddmdmmmmmmmmmmmmNNNmmmNmmmddmNmNmdmNNNNmmmmmmyhyoshdhysssyyssoosyhhhdhhhdNNNmdhyyhdhddhyosyhhhdhhyyhdddhyhmmddmmmmmmNmmmmNmmdmmddhoooshhdddddmmdmmmmmmmmmNNNNNmmmmmmddh-
NNNNmNhhdmdmmNmmmdmddmddmddddmmmmdmmmmmNNmmmNmmmdmmmmmNmNNNNmmNNmmmhhhysoo+oo+oossooyhdddddhyhdNNNdysyyyysyssooyhhhdhhhdhyhhhhyhhhddmmmmmmmmdmmmdhhhdyss++osyhdhhddmmddmdmmmmmmNNmNNNmmmmmmmd-
NNNNmmhhddhdNmmdyyhdddddddhmdddddmdmmdmmNNmmNmyyhmmmmNmmNNNNmmmmmmmmmmmdhyyyyhhhdhmmhdhhhsooshdNNNmdhyyss+o+/+oyyyhyhdddhyhhmdhddhdmmmmhddhdddmdhhhhhy++++ooyddhdddmmddddmmmmmmmNNNmNmmmmmmmh-`
dmmdddyhhhshmdddhyydhydhhdhdhddddmmmmmmmNNNmNmyssdmNNNNmNNNNmdyhhhdmdmdmdddddhhhyhmddhhdhhdyhmmmNNNNdyyddhdhhhddddhhhdddhhdmmdddhyhhddhyyydmdddddssyos+o+/++shhdddddmdmmmmmmmmmmmmNNNNmmNmmdd:`
dmmdmmdmNmdmmmmmmddmmmhhhdhyyyyyhdmNmNNNNmNNmdhysymNNNNNNNNmmmddmddmmmdddmdNNmmmdmmdhhdysoyhdmmNNNNNmhhdddmmmmmmmmmdmmmdddmmmddhyhhhdhyyyddhhhsyyosooo+++oo++hdmmmhhmdmmmmmmmmmmmmmNNmmmNmmmd:
mmNNmmddmmmmddmddddddmmddmdddhyhyhhdddmmdmmmdhhyyhmNNNNmNNNNdyydddmddmmddmmmmddddhs/::+/+ohdmmmmNNNNmddddhyhmdmdhhdmmmmddddmmmdhhyddddddddhsosoyyssooo+o+++++syhddhyhdddddmdmmmNmNNNmmmmmmmmd/`
mNNmmmdyyhdddddhhhhdmmdmmmdmmmmmddhyyhmmmmmmyo++ymNNNNmmmNNmdsssoo+/+oo++oooooooso+++oyhdmmmddmNNNmNmhddddyhddhyhhdmmdddddhhyhhhyoyysyyhhhdhhhyhyo++++++++++/oshdhyyhhddddmmmmmNmmmNmmNNmmmmm/
mmddddhyhhddhhdhsydddhhmmddmmdmmdddhsyyhmmmdys+/yNNNNmdmmmNmmmdmddhyyhhyyhyyyhddmhyhhhhdmdddhdmNmNNNmddddmdmddhhhhhhhhhhhhhhyyyyyyyyyhyhdddhhhsooo++++++/++/+syhdddhydhhhmddddmNmmmmNNmNmmmmm/`
hyhhdhyhhhhdhhdhsshhhdddhhhddhhdddhhhhhhhdmdhyooymNNNNmmmmNNmmmddddddddhyssssysyo++/ooooyhyddmmNmmNNmmmdddmdhshhhhhhhhdhhhddddddhddmddhhyyhyyyyys+///+++++++/yhhyhddhhhddmdhdhmmmmmNNmmNNmmdm+
yyhdddsyyhyhdhddyyyyhdhyyyyhddhhhhhhdmmmdhhssooshmmNmmNmmmNmhyssoo+oo////:://::::--/ossyhhhmmmmNmmNmmdddddddhhhhhdyhyhyyyyhyyhdhhhhhhhhyyshyysssoo/+++////+o+shdyyhhyhdddmddddddmmdmNmNNNmmmm/
hhdddhssshsyhyysssyhdhhddysohhyhhhhhdmmmddhs//oydmmNmmNmmmNmo//+++///:::::/++++ososhddddddhdmmmNNNmdhddddmddmmmmdmdddddhhdhyoyhysossyyyhsoosssoooo++++/++++o+syyyyyyosyhyhddddddmddmNNNNNmNmm+
yhhdhysshhyyssssyysyhhyshyyyhyyyyyhhhhddmmddyssydmmNNmmNNNNmyosyhhyhysssyyhdhddmmmddmmddyysydmNmmNddhhhdhddhdmdmmmmdmmdddmmhhdddhyyhhhddhyyhyysso/+/+///++++/oyhdyyysyhdyyhdhdmdmmmmmmNmmmNmmo
shyhsoosyysssssssssyysyyshyyssyssssyhhhmmmmmmhssdmNNNNmNNNNNdhhhdmmddmmdddmddddddhyssoooooydmmmmmmdmddddddddhhhmmmmdmmmddddhyhhhyyyhyyhhhyhhhyss+//+++++++oo++yhddhhysyhyhhhhhdmmmmmmmNNNmNNmo
syshs+/+o+oyyhysyyyoosyyssso+ossyyhhhhdmmmmmmmdyydNNNNmNmNNNdhhhhhhyyhhyssso+++//////+oyddmNNNmmmmmmmdmmmmmmdhdmmdddhdmdhhhyyyhyhhyysyyyyydmdyso+//+++++++oo/oyyhdddyossshhyhhdddmmmmmNNNNNmmo`
hyyyo++++++oyhhhhyyyssssossosyyyyhhhhhddmdmmmmddyymmmNmNNNNmo++++/+++///:////+/+ossyyyyydmNNNNmmmdmmmdddmmmmmmmmmmddhydhhhhyyyyhhdyyysyyyyhmdhyo++//+/++/+oo+ohdmdhhhysyyysyhhhdddmdmNmmNmmmms
sso++ssso+++o+ohhhyyysoosssyysyyyyyhhdddmddmmmmmdyhdmNNNNNNmsssyo+oooooo+osyyysoo++++hdmmddmmmmmddddmmddmmmNmmmmmmddhhddhhhhydhhhyooysyhhhyysoo+++/++////++++sdmdhsyhhyhhyyyhhhhdddmmmmmmmmmmo`
so+syyyyhys++++oyhhhyyyhhssyysssooyhhddddmdmmmmdddhsmNmNNNNmhyyysoooossoo+o+o+///++sydddmmddmmmmddddddddddmmmmmmddmmmmmmhddhddddhhyyysshyyso+++o++///+/++/++ohmhhyyhyhhdhyhhhhhhhhddddddmmmmms`
sssyyhyydhys++++++syhyhhyyhyyysoosssyshhdddmmddmmmdsymmNNNmds+ooo++/////:://///+oyhddhhmmmdmmmmmddddddddddddmmmdddmmmmmdhhyyssyyydhhyyhhhyhyyo+++++//:/++///ohmhyhhhyhddhhhssysyhhdddddddmdmds`
ssssyysshdhhyo+o+/++oyhhysysyyyssyyyyyyshhdddhdmmmmhohmNNNmho////+///://///++osyyhhyhmmmdmdmmmmddddddhssyhddmmmddmmmmdhhyyy+/+syddddyhyyhhhhysoo++++///::///ohhhdhdddyhhyhyssyhdddhdddddhddmds`
osssosyhddhyyysso+++/osyyssosyhhysssyssshhddddhdhdmmysdNNNNh+/:::///////oyyhdhdyshdddmmdhhhdmmmmdhhdhdhyhhdmmmdddmmmmdy+ohhhyhhyhhdddhhdhdyssooo+//:/:/::/:/shdddhhhhyyyyyyysshhhyyhddmdhhddds`
sysyossyhdhhyssyso/+//+sysooooshyhyyysyddhydmmmddmmmhshmmNNh+::://o+ooshhhhdhyyssydmmmdhyydmmmmdhhhddddmdmmmmmmmmdmmmdmhhdhddhdhyssososysssoooo++++///::/::ohhdddhhhyyhhhyhhyyhhsyhdmdhhhhddds`
oooy+o+oosyssooosssoo+//oooo++oyhyyo+oyooyydddhhhdmmmdyydmmho++osyhyhyhdhyyossyyydmmhyhdhymmmmdddddddddddmmmmmmdhdmmmmmmdmdddhyyysosyssysosss+o++++/+/////sydhddddyhdhhhyyhhhhyhhhhdddhhhmddds`
oo+o++++oooo++oo+ooooso/oosyhyyshhs+++soysohhydddddmmmhydNNddhyhyyyossssso+oyhddhddhyyhhhdmmhhhdmddmmmmdddmmdmmdhhmmdmmdddmmdyyyyssyhysyysysoo//++///////+hddddddddhhhhyyyhhhyhhyhhhdddhddddms`
ssooo+++++////oo+//++ooso+syhyyyyyyyyys+/oyddddydddddddyymNddyssos++o+o++shdddhhyhdhhhhhdmmdhhhhdddmddddhdmdmmmmdmdddhhdhhdhhsyhhhyysysosyhdhy++++/////://ydmmddddddhhysyyhhyshhhhdddmdhhhhdho`
yyyso+++++/++++oooo+ossyyyhoossssyhhsyhyhyhhdddyyhhhmddysdNmdysso+//:/shhdddhdddhhdhysohdmdddddhddhdddmmdmmmmdmmmddddhhhdhdysossyhyysyyooshddho+////+//://ydmmmddhmmddyyssyssoyhhhhyyddddhhyhs`
yyss+++++oo+++oyyhhhhdddmdhssyhysyyssshhdhhyhdhhhydddddhsymms++/:/osyhddhddhhhhyyhdysyydmmdmdhmdddddddmdmmdhhhdmdhdddhhyyhhhdhsossyhhsyyyyyyss+/+/+/+++///shdddddhdmdhsysyyyoohhhhhhddmmdddhhy`
oyso++++ooooosydddmmmmddmhyddddyyyhyysyyhysshhdddddddmmdyydhsosyyyhysyyhdyyhysyyyhyyyhmNmmmdhdmddmddhhdmmmmddddmNmddmddhssyhhhhhsssssyyyyysossooo/+//////:/sdddmddmmddhyhhhhyhyyyyhhyydddddddy`
o++o++/+yyyhhdmmmmmdmmmdddhyydhyhhhyyhhhhyyhhyyhmmhhhhddhyhdhyhyssysshssoooyhhhhysyyddmNNdmddddddmmddhdddmmmmdmmmNmddmddyhyyhyyysssoosysyyssooooo+///////:/smmmddddddddhhdddyhhysyhhsshyhhdddy`
++ooo+oshdmmdmNNNmmmmmmdddhhooyyhyhhhydyssssyyyyhhyhsyyhhoshhyso+sysso+/oshhyyssyysyddmmdddhdddddmmdddddddhdddmmdmmdmmdddddyhyyyssyyysyhhhysso++o+///////:/ymmmdmmhddmmmdddhyyhyhyhhysysyhhddy`
ssyyyyyydmmNmmmmNNmmmddhhhhyo+yhhhyhyyhyysssyhhyoshdhhdddysshyhhhhso++oyyhyssyyhyshhmmmdmdddddddmdddhhhddhdddddmmmmddmmddmdhhyhyyhhhyssyyssysooo+o+///+//:/hmmmmdhhhhdmmddhhhyyssshhhyyyyshhys`
hyhhhhhdmmNNmmmddhdhdhyyhhys//odddhyyooyyysyyhyyyyhhhhmmdhssyysyo++oyyysossyssyyyhdmmmdddmmmmdmhhhdhshhhdddmmdmmmNmdhhdmdddyoosyhhhyosysssssssyyo+o+///:::oddmddmhhddddddmhhdhysyhhhhhhhysyhys`
hhdmddmmdmdddddhyysyhyyyhdhs++ohhhhyyosyhyyyyssyyyyssydmdyoss+//syyyyo+o++osyyyyyydNmmmmmNmmddmmmdmdhdddmmdddmmmmmmddddddddhysyyhhhhyysyyysoosyoo++++//::/ymmdmmmdmdhhdddddyyyhhhhhhhhsyyhyhhs`
dddddddhhysyyddysyyyhhhhdhsooshdddddhhhyysyyyyyyssyhyhdmhsysssoyddys++oo++oysssyhddmmmmmmmmdddmmmmmddhddmmdhhdddmdddddddddddhysoyhhdhyshsssosso++++//+///sdmmmmdddmmddddmddddddhhdddddsoosssys`
mddddhsoo++syyyyyyyyhhddhy++shdhdhhhhhhysydhyyhyyyhhhdmmdyyhhhhhhyoo/////+ssssoyddmmddmdddmmdddmmmhdddddddhdmdmmmdddmmdddddhhhysyyyhddhhyosssys+++//////+hmmmdmddmmmmddmmdddhhhhhddddhysssssoo`
hyhyys+++o+ssshsosyhddmmy+++sddyshhyyhyyhyhhssyyyyyhdddddyyhdysooo+////+osooossyhdmmdmdddhdmddmmmdhddmhhhhddddmdmddmmddddddhsoyhysshhhhhhysssso++++++/::+hmNmdmddddmmmddmddddddddddddhyyhhyyys`
dyysyyssshysyyysssyhdmmdo/+ohmdhyhhyyhyyyhhyossyhhyhhyhhy+oyys+++////+syysoo+shddmmmmhddddddmmmmmmddmmhddhhdddmmddmmmmddmddhooyhdhhdhyyhdhyyyyooo+++++:/+dmmmdmddmmmmmmdddmmmdmmmddddhhhhhsyhy`
mdddhdhyhhdhhhyyhddmmmdyo+shmdhhyhhyhhdyshysosyhyhysyyyy+/+yho////+oshhysooooohdmmdddddddhdddmddmmddmmdddddddddmmmmmmdddmmddhyyhdhyyyyyhhdddysoo++++//::+dmmmdmdddmmddddhdmdddmmmdddhddhyssyys.
mmmmmmmmdddhddddmmmddhosyydddhdhysyhddhysyysssssossyssyy+/sdh+/+ooyhhhsoooo+osydmmmdddddddddddddmmddmmmdhhhhddddmmmmmdmmmmddddhdhhyyyssosyddyoo+++++:/::ymddmmddhddddddhhhdmmmmmmmmhyhhhyyyyys.
NNmmmNmdddhddmNNmmdysoohddmdhhyssyyyddhysyyyssossssyssss+/ydhooyhddhyys++//+oshddmddddddmdhdmdddmddddddddhhhddhhddmmmddddmddddhhhhyyhhyssyhhyso++o+/:::/hmdmmmddhddmmmdyhdmmmddmddmhhddhhyyhyy.
NNmmmNmmmdmmmNNmmdysoosddddhyhyssyhhddhyyyyhyssssyysyyho/+hNmdddhys++++///+ooyddmmddddddddhhddmdddhddhddddddhdhhddmmmmdhhdhdddddmdddddysssyhyssoo++/:::+dmmmdddmddmmmdhhdhdmddddhhdddmdhyyyyhs.
NNmNNNNmmmmmmNmddhyhdhddhhhhyshhhhdddhhhyyhhhyssyyyssss+/odNmmdhso+///++oooosddhmdddddhhddmmddmdddddhdddddddyhdddddddmmdhhddddddmmdhhhhyyyddhyyso+++/::/hmddddddhhdddddmmmdmdddddmmdhhhhhssyso.
mNNNNNNmmmmddmdddhhdddddhhhdhdhhhsyhyyhhyyhhyssossyss+::+hmNmyo+/////+ssso++hmmddddmmdhhddmmmmdddddddmmmdhhhyhddmddddmmmddddhhhhhdhyhhhddddhyyssoo+++::/yddhdmmddddddddmmmdddmdyhdhdyyhyhhyhyo.
mmNNNmdhdmmdmmmdmdhdmmdhddddddhhssyyooyhyyyyyys++oso+/:odmNNms+++o+//osys+osdmmdhhhdddhddhdddddddmmdddhddhyyhhddddmmmmmmddhhyyhhhhhhhdddmdhhhssyso++////ymmddddddmddddddmdddmmmdhhddmdhhddhhys-
dmmNNmdhdmmmmmmmddddddddhhhhhdhhyyyysosossssyyoo++++/+sdmNNNmo+oo+oooooosoymmmmdhhyyddhdddddmdhhhdmmddhhhhddhdddddddmmmmmddhhhdddddhddhhhhhyyssysoo+//:/ymmmddddmmdddddddddddmmmddmmmmdhddhyso-
mmmNNmmdmmmmmdhhdddddmdddhdhyhhyyhhhysosyysossoo+/+ohdmmmNNNmo/+ooooso+oshmmNmmdhyhddmdmmdmmdddhddmddddhyhhhdmdhyyhhmmmmmmddddhdhhhyhyyyyssssysssoo+/::/hmmmmddddmmddddddddhhdmmmmmddddhhhdyss-
mdmmmdhddmmmmhhhdhhdmdddhyhyyyssyhhysossososoo+/+yhddmhosyddmyssyyssso++ymmmmmmdhyhdddddmmmddddmmddhddddhhhyyhdysyhhdmmmmmdmmddddhhysyhhdhyyhhyyy+//:::/hmmmmmdhdddddddddmdhdhdmmmdddhdhhhhyyy-
dddmdhdhhdhhdddddyhhdhyhsoosyssooos++osso++ooyhyhhyyss+/osoymdhyyo+so+++ydmmmmddhyhdhdddddddhmddmdhhdhddddddhhhhhddddmmNmddmdhhhhhhyydhddhdhhdhys+/::::/ymmmmddddhhdmdddddmmdddmNddmhhdhhhhhhy:
yhhhdddhyhhhddhyhyyyhyyyoo+ooo++oo+/osydhhhhhhyyyyso++/+ooshmdyo++osooosdddmdddhhhhddmdhdddhyddhmdhhdhyhhhhdhdhhdhyyddmmdmddmhhhhsyyhddhhhddddddhy+//::/ymNmmdhdddddddhdddmddhddddmmmddddhhhhy:
ysyyyhssssyssyyysso++o+s+++ssyhsyyyhdmmNmdhsyysosso+///+ssydmdsoo++oo/+shdddyddhddddddhhddhyyddddddhhyyhddddddhhhhhydmdhdhyyyyhhhyyhyyhhdmddddmmdhso+///ymmmdddhddhhdhhhmmdddhddddmmmmdmhhdddh/
yosssssooysssssyyssyyyhddhmmmNmddhyhhhhhyoo++o+/+o+oso+shhdmNmyo++////+hdmmdhdddhhdhhhydddhhhhdhhhhhhyhhhhhydhhhddhddmhyyssyysosoysyhyhhmdddmmmmmdyso///ydmdmddddddddmddmddddhdhhdmmmmhmdddddd/
yhhddyhhddhddddmmdmdmdhdhyhsoso+////+//o+//+++///+ohyyhmdmmmmdyo+//+ooyddddhyyyyhhhhyhhdddhhdddddhhhhyhddhdhhhyhddmddhsshhhdhhdddddddddhhdhdddddhhhhs/:/ymddmmmdddhddmmmmddddddhyddddmdmmdddhy/
++///+/++o++oooo+++o+/+++/ooosoo+oooysyyyhyyhyoshyhdhddmdmmmmmyo+//+oydmmdysssooyhdddhhddhhhddhmddddhdmmdhhhyddhhhdddhdddmmmddmdmddhysyyhdhhdhdhhyys+/:/smddmddhddydddddddmdddhddddhdddddhdmdh/
yhysssyyyhhdhdddhyhyhhdddddmmmmddddhmmmmmNNNNmmmmddhhdddddmmmmhso///ohmddhyyhhsssyyyyhyyhhhdmddhdddhdhdhyhhhhdhhdhddddmmmmNmmmmmdyyyssyhhyhhhhhdddhy+/:/smmdmmdddhhhddddmddddddmmmmddddmdddddh+
mmdddydddmmmNmmmdddddNNmmmmmNmmmmmmmmmmmmmmNNmmmdmddddddddmmmmdsoo//odmmdhhddhyysyhhyoyhohdmdmddhyhhhyyyhdhdmdhddmmNmmdhddmmmmhhdysyysdmyoosyhhhhdddy+/:sdmmmdddhyyhddddhmddmdhdmddddmdmdyhddd+
mhddddhmNmNNNmdmmdmmmmmmmmmmmmmmmmmmdddddmmNNNmmmmmdddmmmhdddmy////+hmddddyhhdhddhddhydmdyyddhdhhddhdhhhhdddmddddddmmmhsydmmmhyyss+osooosyhddddmmmddhs++ydmmmmhyhdddmmdmmdddddddmmdmmmmmhhhhddo
mmmmmmmmNmNmNmmmmmdmmmmmNmmmmdhdmmmmmdmdmmNNmmmdmmmhhhdhhhhdmmy+/:ooddddhhsyhhdddhyhyddmmdhhdhhhdhhhhhhhyhdhhhhhhdmdhhhyhhdmddyhhysoyyyhhdmmmmdddhysoo//ymmmmmmdddhdmdddmdhhdddmdddddmddmdhhhho
mmmmmmmmmmNNNmmmNmmmmmNmNmdmmddmmmmNmmmmmdmmmmmmmmddddhyydmmmmds+:+hdmmdhhyhdyhhdhyysdddysyshhhddhhyysoshhhyoshdddmmdddhyyhdhhdhyyysyhhyhhyhhysosoyoo+/+smmdmmddddhdhddddddddmmdhhdddddddmdhhh+
mmNNmmmdmNNNNmdddmmdmmmNmmmmmmdmmNmNmmddddmmmmmmmdddhhhhmmmNmmds//ommmdhhyhddhhhhyyhddhyhysyhddmhdyhdhyyhhyyyhhdddmmdhhdhhydhhhhhhhyyyssoo+ooooosssss+//ommmmddddhhhddddmmmddmmdddddmddmmmmddho`
NNmmNNmNNNNNmdddmmmmmmNmmmmmmmmmmmdddhhyhdmdddddmdhdyhhdNmmmmmdo/sdmmmdhyyyhhddddddmmdyyyhyshdhhhhyhddhhhhdhyyyhhdmmmdhdddhhyyhhyssyhhsssooossyysshyo+//+hdmddhhdhyydmmmdmNmmmmddddmmmdmmdmdhds`
NNmmNmNNmNNmmdddddmmmNmNmmmmNNmmNmhhyhysydmmmdddmmdddmdNNNmmmmds+ydmmddyhdhyyhdddmmdhddyyyyhhhdyyhydddddhyyhddhdddmmmdyyyhhyyhhysyhhddhhyssssyyhyhhys+//odmmddddmdhhdmmmmmmmmmmddmdddddddmdhhhs`
NmNmmmmNNNNmmmdhhdmNmNmmmdmmNmmmmdyshyhdhhmmmdddmmmmmdmmNNmmddhs+shddhhhddhyhhdhdmdyydddhhhddmdhhdhhdddddyyhddddddddmdyoshydhyyyshdhhhhhys+/osyhhhhyss+/shdddddmmddmmddddddddmdmdddmdddddddhdho`
NNNmNmmNNNNNmdhhhdmmmmNNmmmNNNmNNmdyhhmmmmNNNmmdmNmNdmmNNNmmdhhhyhhdddhyhddhhddddmhhddhhhhyddyyhhdyyddddyyyyhdhhhdddddhhhdddyshhhhdhhsyyso+oyyhhhhhhsso+yddmdddmdddmdhhddmmdmddddmddddmmmddddhs`
NNNmmNNNNNNmddddmNNNmmNmmmmNNNmNNNNmmmmNmNNNNNmmmmmmdmmNNNmmdhdddddhhhyhdddddhhhhhddhhhyysyyyyhdddhhhdmhhhdhhhddmmdddhhdmmmddhhyyhyyyoosooosyhhhhyso+//+ymmmmhhdddddhyddmmmmdddddmddddddddddhds`
NNNmdmmmmNNmmhdmmNNNNNNmNNmmmmmNNNNNNmmmmmNNNNmmmmdddmNNNNmmmddmdddhddhhdhdmdddmdhhyyyhhhsydyhhddddhyhddhyhhddddddhhhddmmmddddhdddhhdyyyss+++++ooo+///:+hmdmmdhdddddhdddddmdddddddddddmdhddhhds`
mNNmmmdmmmmmddmmmNNNNNNNNNmmmmmmNNmmmmdddmNNNNmmmmdmmNNNNNNmdmdmmmdhdddmmmdmmdhddhhyyhhhhhhdddddddhhyhddhhhhdddyyhdhhddddddhhddmddddddhhyyo+/////+///:+sdmmddddmdddhdmmdmmmddmdddddddhdddddhdds`
NNmNmmdmmmmmmdmmmNNNNNNNNNNmmdmNNmmmmmmdhmNNNNNmmmdddmNNNNNmdddmmmmddmdmmddddhddhhhyyhhhhhhdddhdddhhhhyhhdhhddhyyddhhdhhhhddhhdddddddddddhhyo+////////+sdmmdddddddhddmdmddddmmdmmddddhddddhhhho`
NNNNNmmmNmmdddmmmNNNNNmddmmmddmNmdddddmddmmmNdhhysy++smNNNNmmmmmNmdmmddddhdmdhddhhyhhhhhhyyhhhhdddhhhhhhhhhyhdhhdmmdhyhdhhdddhdddmmddddddhhhyso/+/////+hmmmmmddddddmdmmddhhdmmdddhdddddhhdddddy`
NNNNNmmmmmmddmmNNNNNmmmdmmmmmmmmmmddddddddddNmdddddhyydNNNNNNNmmmmdddddddhdhddddddhddhhhhhyhhhyhdhhyyhhhhyyhdhyhmmmmhshddddmdddddmdddddddddddhys++////ommdmdmmddhdmmdmNddddmmmdmdddmdddddddmddy`
NNNNNmmmmNmmmddmNmmmmmmmmmmNNmdddhhhdddddhyhmNNNNNmdhhmNNNNNNNmmmmmdddmdhhhhhddhhyddddhdhyyyhdhydhhhyhhyyhhhhhsydmmdhyyhdddddhdhdmhhhdmddmmdmmmhs+//:/sdmddddmmddmdmdmmmdmmmmmmmmmmmddddddddddy`
NNNNNNNNNmmmdhddmdmmdmNmmmmmmmddhyysdmdhssydmmmmdhyssydNNNNNmmmmmmmmmmdddyhddddddhyyhhdhysyyyhyhhhhdyhhhddddddhhdmddmdddddhhdhhyydddmmmmddhhyyyys////+ymmddddmmmmddmdmmmdmmmmmmmmmdmddmmddddddy`
NNNNNNNNNNmmddmmNmmmddmmmmddddhhhhhhdmdysshdddhs+//://yNNNNNmmmmmmmdhdmddhdmhhdmdhyhddddhhysyyyhdhyhhdhdmdddmdhhdmddmmdddddhhhhysyhyyhdhsyo+++++o+++/+hmmmddmmmmddmmmmmmdmmmmdddmmmmddddddmdddy`
NNNNNNNNNNNmdmmmNmmmddmdmddddhhyhhmmdhhyoshdmdy+:::--/ymNNNNmmmmmmdhdddddhdhhhdddhhdmmdddhyyyhyhhdhhhhhdhhhyyhhydmdhhdddhdddhsoossys++oo++//:/+syys+/+hmmNmdmmmmmmmNNNmdmmmmmmmmdmdmmmddddddhdh`
NNNNNNNNNmmmmmmmNmmdhddmddmddhhyhddhyyyyyhdmmmho+osssymmNNNNmmddmmdhhhddmdddhhhdddddhhdhhhhhhhyyhhddddhdhhhhyyhdmmmhhhhhhhyyyooooso+//++++++osyyhys+/oddmmddmddmNNmmmmmmmmmmmmddddddmdddhhhdddh`
NNmmmNNNNNmmmNmhdddmddddhddhhhhhyyssyyhhyydmNNmmmmNmNmmmNmNmNmmmmmmdhhhddhhddddddddyhhhhyhhhdhhyhdhyhhhddhhdhhhddmmhssysysssssssoooo+/+oyyssyyyyyo+//smmmmddmddmmmmddmdddmmmmmddddmdddddddddddh`
NNNNmNNNNNmmmmmddhddddhhyyhyhhyhyysssyhyyyhdNNNNNNNmmdysmmmNNNmmdmmmmdhdhhhhyhddddhyyhhyyhhhhhhhhdhhyhdddhhddhhddmmdyssooooooooso++o++osydhhhhssso+/oymddddddddmdddmdmdmmmmmmdddmmdddmddmdddddh.
NNNNNNNNmNmmdmmdddhddddyysyyyyyysssoshhhhhhhhmddhysoo/+hmmmNNmmmmmmmmdhhhdhhdhhdddhhyhhhddhysyhyhhyyshdhhhhddddddmmdyyso++osso+++++oooyhddddddysooo+oymdddhhddhdhhddmmdmmmmmhhhdmmdddddmddddmdh.
NNNNNNNNNNmddddhddmmmmdhydddyyyyyssosyhyyyhhdhyso/+/++shdmNNNmmmmmmmmddhdddddmdddddhhhhhhdyyyyyyhdhyyhhhyyhhhhdmmmmddddhsoossoo++++sshddhhdhhyssoo++ohmmmddhddhhhhmmmmmmmdddhhhddmmmmmmmdhhdddh.
NNNNNNNNNmmmdddhdmdmmddmddddysyyyyysshhhyyhmmmdhhdhdddddmNNNNmmNmNNmmddddhhdddhddhhhyhhhhhhhhhyhddddhhhhhhdhhhhhdmmmmmmmdhdhhsso++oosydhsssosyo+////smmmmmddmddhhdmmmdmmmddmdddddmmmddddhyhhhdy.
NNNmNNNNNmmmmmmdddmmdddddhhhysyssyyhyydyo+hNNNNNmNmmmmmmmmNNNNmNNmNmddddhhhdddddhyyyssyhhyyhddhddhhyhdddhhhhyyyyhmdmmmmmmmmddyysoo+++o++++++++////:/sddmmdddddddddmmddddmmmmddmmmNmdmdmdddhhddd-
NNmNNNNNNmddmdmmddddhyhhhhhhhyhhyyhhhyyssydNNNNNNmmNmmmmNmNNNNNmdddddddddhyyyhddhyhyyyyhyhhhdmdhhhhhdhhddhhdddhhdmmmdmmmdmmmddhsss+++//////////////+hhddddhhddddddmddhhhdmmddhmmdmmdddyhhddmddd-
NmdNNNNNdhyhddmdhhsssyyyhyyyyyhhhhhhhhhyyyhmNNNNmmmmddmmmmNNNNmmdddddddmdhhyhhhhhddhhyyhddddddhhhhhyhhhhdmddmhhhmmmmmddmmmmmddhsosso+/////////////+sdddmmmdddhddddhdddddddddhyyhddmdhyhhyyhddhy-
NNmmNNmmdhyyhhddhhssyhhhyyhhsoydhhhddddyssydNNNNmmdmdmmmmmmmNNNmddddmmmmmmmdddddddhhddmddhddhhhhhhhyhddhyyhddhhddmmmmmdddmmNmmdsoooooooo++/++/////oyyhmmddddddddddhhddmddhhhhhydhhddyhdhhhhhyhh-
mNmmNNNNmhyyyhyssyysyssyshdhysyhhdmdhysyyyshNNNNmmmmNNNNNNNNNNNmmmdmmNNNmmmNmmmmmmddmmmmmdhdddhdhhdddmddhhddhhhshmmmmmdhhddmmmdsoooooosso++++///:/sdddmmmddmmdhddddhdmmmddhdhhddhhdhyddhhhhhdhy-
NNmNNNNmdhhhhhsssyysssyyhhyysssydhhdyyysyssdNNmNmmmmmmmmmNNNNNNmmmmmmNNNNmmNNmmNmmmmmhhddddhddhhdhddmdmdhdhhhhhsydddddhhyhdhhhyyoooo++++++//+/////ydmmmddddmmmmmmmmmmNNNNmmmmmmNmmmmmmmmmdddmdh:
NNNNNNmdhyyysossshhyyysyhhhhhhhhdysyyso++/+ymNNNmdhhmmdhhmmNNmmmmmdddmNNmmmmmmmmmmmmmddmdmmddddddyhhhhhyyhdhhdhssysssoooo+ssssoosoo+//++////////:/ydmmmdmdmmmmNmmNNNmmmmNNmNNmmNmmmmmNNmmmdyhdd:
NNNmmmmdhhyoooyssyyyhhyhddhyyydhyo++o+o++++ymNNmmmmddddddmNNmhyyyhddmdmmmNNmmmmmmmmmmmmdmmmmmdddmdddhhdyhdddhhyo++///+/////+++o++oso++o++o+ooo/:::omNmmdmmmmNNNmmNNNNNmNNmmmNmdhyhhdmmmmmmdhdmm/
NNNNNmdhhhhsoosyyhyysyysyooo+ossooooo+++so/omNmmmmmddmmmNNNms/++ydddmdmmNmmmmmmmmNmNmmmmmmmmmdmmmmNmdmmddmmmddhsso+/+o++///ossyyhhdhydddhdmddhyso/:sNNNNNNmNmdNNNNNNNNNNNNmmmmmdddhdmdddmmmmdmm/
NNNNNmhyhhhhhyooosoooooo+++++osssoo+oo+oo+/omNNmmmmmmmmmmNdo//ohmmddmmmNNNNNmmmmNNNNNNmNNNNNNNNNNNNNNmmNmmmmNmddhyyyhhyysyyhdmmNmNNNmmdhssyhdmNmdy+smNNNNNNNmmmNNNNNNmmmNNNNmmNmmmmmmmmmNmmmmmm/
NNNmmdhysshdhhyyysso++osoo+ooossoo+o+++o+++sdNNmmmmdmmmmmds/:/odNNmmmmdmNNNNNNNmNNNNNNmNmNNNNNNNNNNNNNmNNNmNNmmmNmmmmNmmmmmmNmNNmmdyss+/:/::+ohmmmdhmNNNNNNNNmmNNNNmNNmNmNNNNNNNNNNNNNNNmmNmNmm+
Ndhhhyssssyyyhhyyso+++ooo++oooo++++o++oo+//+ymNNmmmmmNmmho+/:/smNNNdmmdmNNNNNmNNNNNmNNNNdshNNNmmmNNmNNNNNNNNmmddmmmmNNNNNNmmmddhys+//+/////:::/sdmmdNNNNNNNNNNNmNNNNNNNNNNNNNNNNNNNNNNNNmmmmmdd+
yo+o/++oo++osss++o/////++o+++++/++++osoo+++oymNNNNNNmmmmy/:::ohmNNmdmmmmmmNNmdmmmddhhhhmh+sddhyoymmddddmmmmhhhhhyyyhhddddhysysoo+//////////::::/oymNNNNNNNNNNmNNNNNNNNNNNNNNNmNNNNNNmNmmmmmdddm+
/://///++//+os+///:/:////+o++++///++o+++oooyhmNNNNNmmmdh+--::odmmmmmdmNmmmmNmdmmddhyyhyhhyddhyyhyhhyhhhddddyyhddhyysyyyyso++o+++/++++//+////::/::+ymNNNNdmmNNmNNNNNNNNmNNmNmdyddmmNNmmNNmmmddmmo
soo+++ooooo++ssso+++/+syysysoo++/////////++ssdNmmmNmmmdy:--+yhmmdmNmmmmmNNNmmdmmmmdddmyyyydmmmmdmddhddhhhyyyyyhddhhyyhdhso+/oooso+o+/++/+///////::+hmNmmmmdmmdmmmmmNmmmmmmNmyosooshhmmmNmmNmNNNo
mmmmdmddddmdmmmmddddddmNmddddddhhdhhyhhyhydddmmmmmNmmmdy:-/yNmmmmmNmdmmmNNmNmmNmmmmmmmdhydmNNNNmmmmddhhhdddys++hmdhysosyooooo+ssooo++++/////////::/smNNNmmdmmdmmmNmmdhdmmNNmddhhyssyhdmmmNNNNmmo`
NNNNNNNmmmddhdNNNNNNNNNNNNNmddmmNNNNmmmmmdmmmNmNNNmmmmmy+oymNmmmNNNNmddmmmmmNNNNNmmNNNmmmdmNmmNmmmmdyhhdmNdhhssdmmmdhssoooo+++oo++o++//////+/////::/ymNmmmddhmmmmmddddddmmNNNmmmddhhdmmNmmmddddo`
hshyyhyso++++oysshhddddddhhs+oyddmmmmmmmhhdmmmmNNNmmmmmhydmmNNmmNNNmmmmmmmmdmmNNNNNmmmdhyhddmmNNNNNmmmmmNmNmmdddmysdmmhys+++++oooo++//+++++o++++++::/ymdmmdhddmmmdddddhdmmNNNNmmddddmmmmmmmdhdds`
+//+++++/+++++///+++ossyysysooshddNNNNNNmmmmmddhhdhssso+smmNmmmmmNNNNNmmmmmhdmmmmmdddddhsydmmmmmNNNNNNNNNNNNNNNNmyyymmdmhyoosssyssoosyhhhhdhhyhhhhs/:/ymNmmmddmddddddddmmmNNNNmmddmmmmmdmmmdhhds`
+++ooooo+ooooo++++++++++osyysosyhddmmNNNdddmdhhysso+///+sdmddddddmNNNNNmmmmdddddmmmddhhdhhdmmmmmmdhhmmmmmmdmmNNNmddmNNNmmmhyyyhhhhhdmmmddhddhdmdddyo++ymNmmmmddmmdddmhhhddmNNNmmmmmmmmdmmmmdddds`
o++++++++oooossoo+++ooo+oosyys++oshdmmNNmdmmmmmdhhhssssyhddhddhhdmNNNNNmmmNmddddmmmmdmmmmmdmmmmhhysyhmNmmdddmNNNmmmNNNmNNNmmddhhddmmdmdhhdddhhhhddysyyhhdddmmmmmNmdhmddmdddmmmmmmmmmmmmdddddmmms`
dhoo+++ooosoosysso++syyyyyyydyo+osyyydmddmmmmNmmmmdhddmmmmmmdmddmmNNNNNNmNNNmddddmddmmmmmmmdmdddddhhdddddddmdmNNNmmmNNmNmmmmmmdddmmmdmmddddhhyshyysoydhhhyssshmmNNddddddmdddmddddmmdmmmmmmmmNNmy`
NNmdhysooooooooysysysshddmddhysosyooydmdmmmmmNNNNNNNmNmmmmdmdmmddmmNmmmmmmmmmmdhhhyhddddddddhddmmmdddhyhhyo++ossoo+oymmNmmmmmNmmmdhdddmddmddyyyyyyyhddddhyso+/sdmmmmdmdhddmddddddhhhhdmmNmNNNmmy`
NNNNmmmdyo++oo+sssyysyyshmdhddhys+osdNNmmmNmmmmmmmmmdhysshdmmdmdddmmNmmNmmmdmddmdyyhdhhhdhdhhmmmNNmddddhddhhyyhyysooymmNmmmmNNNNNmdmdhhddmmdhhhsyhdmmmddhysosoyhmNNNNmmmmmNmmNmhyhdhddmmNNNNmhds`
mNmmNNNNmdysoo+syyyyyhyyddysshddhsoymNNmmmmNmmmdyyso+/+//yddmdmmmmmmmNNNNmmmddmmddhhddddddmmmmNNNNNmddmmmmmNmNmmmmmmmNNNNNmNmNNNNNmmmddddmmmmmddhdmmmmdhdddmmmmmNmNNNNNmmNmmmdo//osyyyyyysoyyyho`
mdmmmmmmmmmdyssyhhhhhhhddddyhdddhssdNNNmmmmNmmmdhhysoossyhdmmdmmddddddNNNNmmmddddmdmmmmmmddmmmNmNmmmdhddmmNNmNNNNNNNNmNNNNmmNNNNNNNNmmmdmmmNNNmmmmmmmmmmmmNNNmNNmdmmmmmdmmhsso+oossyyssyss++++s+`
dmmdmmmmmdddmmddhyyhhdmmddddhhddyoodNNNmmmdmmmmNmNmdhdmmdddmmmmmdddhdmmNNNNmmddyhdmmmmmmmdhhmmmmmmmdhhdddmmmmmmmmmmmmmmmNNmNNNNNNNNNmmmmNNNNNNmNmmmmNmmmmmNNNNNNmdddmmmdhdhyyydddmddhyysyyyo++o+`
dmmmmmmmdddmmmmNmmddmmmmmdmdhdddhssdNNNmmdmmdmNNNNNNmNNNmddmmdmdddddmdmmNNNNmdhdhdmmmmddhdmmdmmdmmdmddddhdmmmddmmmdhdhhddmmmmmNmmmhyydmNNNNmmNmmdhdmNNNNmNNNNNNNNmdmNdddddmmdhddhhhho//+oooo+++/`
dmmmmmmmmmmmmNNNNNNNmNNmmmmddddddhdNNmmmmmmmmmmmNNNNNNNmdddmmmdhdmmmdddmNNNNmddhhddmmmdhhhdmmmmddmmdddhyddmmmmddhdhyhhhysyhdddys+++/+yhyssyhdmmmdhdmmmNmNNNNNNmmmmmmmhyyssyhhhyyyssy+ossysyyho++`
dmhdmmddmmmmNNNNNNNmmNNNNNNmmmmmmmmmmmddmmmmmdmmmNNmmmmdddddmNmNmNNmmmmNNNNNmddddmmmmdddddddmdhhhdhyyyhdhyhhhhysyyyyhhhdhyyhhyyyssys+ooo////+oyhhhhdmmmmdmmmmmhhhmddhyhdhyhhyyyysoyhsosyyyhhyoo+`
mmmmmmmmNmNNNNNNNNNmNNNNmmNmddddmmdmmmddmNNmNmdhhhhyyyoooshmNNNNmdhddddddyyo//+ohddddhhddddddhhdddddhddmmhyysosyyhhhhhhddhhhdmmmmdddyhhysoo+///++/:/oyhdhhmdmmhshdsooyhyyyyso++ssyhyosssosys+++/`
mdmmmmmdmmNNNNNNNmmmmmmmmmmdddddmmmmmmmmmmmNNmhsyysssoooosydmdddhsyyysyo+/::::/+shhhhhhdddddmddddmhdddddddyssosyhddhmmdddddmmNmhhhydmmmdhss+/++oos+++shhhhhhhmhooooooydddddyyssyosyyyyso+ossyyso`
NmdmmmmdmmmNmmmdmmmmmmmmmdddddddddddmddmddmmmmdhddhdhdho++osyyhhhyhdhhhhhys+ooosyyyysyhysysyhsyyyysyyssoso+o++/+++//o+o++ooooo+:/++ossssoo+:::///oo++o++//:::++:---:-::////::-::-:-:::////////::
//::://:://::::/:::-:-------------------.-.--.-...`.```````````````````````````````   `