;,'''''''.'',...........,,'',,'..,odk:dXXodXNXK00OkK0d,':;dxk0kc;;c.. ..........'.....;;;... .dl. .'klKKO:;' ;00Kxl:...;,;,,dx:',c;;;;;:lOx
xxxkkkkkkkkO0OOOkkxdddddddxxxxoddxOOOKXXXNNXK0000OOK0ddxddkOkkkOOlc:::;;;;:;:;;;;::;;ccoxoccccccoolc:clloxxlll:oxkkdddclOOxxkxxxkkkxkxdxdolll
XNNNNNNNNNNNNNNNNN0OkkxkkOOO0KXXKKKKKKKKKK0000OkkkOxddxxxxxOOkk0Kkoox:::c:cc:cclccclccccc::;::;;,;;;:c:;::cc::cccccccccc::::::::::::::::;;;;;
XXXXXKKKKKKKKXXXNWNNNNXKK000000OOOOOOOOOkOOOOOOO00KKKKKKKKKK0000KK0Okdlc;;;;:::::c:::ccllclccccllllc:;;;;;;;,,,,,,;;:::;;;;,;,,,;;::;;;:::;:c
kkxkkkkkkkkkkkkkkkkOOOO00KKKKKK0K000000K0O00000000000KKKKKKKKXXXXXXXKOOkdoc:;;::c::cllccccccccclllcc:cc:ccccc:ccccccccc::;;;;;,,,,,,''''',;;;
O00000KKKKKKK0000000000000000000000000000000OOOOOkOOOOOOOO0000KXNNXXKXKKOOkxdc:;::cllccllllccccllcccccclllcc:::ccl::ccllllllllllllllllllloood
kkOOOOOOOOOOOO0000000000OOOOOOO0OOOOOOOO00000KKKK0000000000KKK00KKKKXXNXKXK0Olddc:c::clllccclollccccccc:::::clllooooc:::c:::;;;;;:;;;;:ccccll
OOOOOOOOkkkkkkkkkOOOOOOOOO0000000OOOOOOkkkOkkkkkxxxxxxxxkkkkkkOO0KKXXK0OO0K00Kkxdoc:::clcclollccccllc::::cloolcclol:,,,,;;,,,,,,,;:ccllllclc:
xxxxxxkOOOOO0000000000OOkkxkxkkkkkkkkkkkkxxxxxxdddddddddodddddddddxxOOOkxxxxxxdoollcclc:clllcclllc::::cllllcccolcc:,,,,,,,,''',;::clccccclool
xxdkOOOOOOOkkkkxxddddodxdOOOOkkxxxkxxxxxkOOOkkkxdoodxddooooooooooddddxkO000KKXKkdl::;cccllc::cc:::cclllc:::llcocc:,''''.'.'.';:::::ccclcclllc
'.,:o:;';c;:ol:cocoolc:;,:l;,l;lc:ocl:,':o:c;llcc:cxkdxxxxddldxdddxodddddxOkxkOx:. .;cl::::c:;::cc::cclxOK0olool:;,;,,,,,,,;::ccccccclllclcc
dddodxxxxkkxxxddddoddxxxxdodddddxxxxkkkkxddoddddol;,:ll;,;:ccclxOkoloxxolccoolool:. .;;;cllc:::c:::cccodxkkdlllcc:;;;;:cc:::::;:cclodollllccc
dxxxdddxooooodxxddddoododdxkkkOOkkxkkxxxkkOOOkxdddolccc:;;;::,.':;..'';::cclc;;;;:'.'.clc;:cllc::::;:oxk0Okddolcccc::::;:cccc::::ll'.;ccccccc
ddxxollolollolloldddxxxxxxxkOxodxxxkkxxxoooooollodddddol::cc'cl,:ll,cllllllllllllc;:l:,clcc::lollcclxkxo:clllllooolllollc:cllllllccc;,..':cc:
oooccccccloooodxxddddllooodxkxxdlccccldxooxdddooddddolc:;,:;;;;;;,,'',..:olllllllcoxxdc,loool::dOO0Oxdoodddooooooooxxxdloooollllllcc:;;;,...'
ddddddddddllllodxxkkOkdccc;:clddddxxkoodolll:;l,:oodddddololclc::cc;,,'.cccc:::c:cdxxxxd;dkOOOOxxkOOOOkkkxxxxxddodoolc:,:ollllllllccc::;;;,;,
kkkkkkkkkkkOkxoc;,:coxdodkkkxdooolooodoll;;olldolodxdkO0KXXXXXXK000Odclooloooodddxxkkxxkxxxxxxxxkkkkkkkkkkkkkxxocccccccc,,lllllllccccc::::;,,
doxxxkOkkkkkkkkdlok00Okd;loolccclooodddxxoodkkkxdodxkO0OOOOOkkxxxxddddddddxxxxxxkkxxxxxxxxxxxxxdddddddddddoolcllccccccc:;,'cllllllcccccccccc:
dlddxxkOkkkkdxxxk0kkkkkxdolooddddddddxddxxxxxxxkkkkxxxxkkkkkkkkkkkxxxxxddxxxxxxxxdoooodddxxdddddddddddddoolcclccccccc::::;,'colllllllccccccc:
oooodddddddddddxxddxxxxxxxdddddddddddxxxxxxxxxxxkkxkxkxxxxxxxxxxkkkkOOOkkkkxxxxddddollllloooooooooodoooolclllllllccccccc::;,.:lllllllcccccccc
oooddddddddddddddddddddddooooooooddxxxxxdddxdxxxxxxxxxxxxxxxxxxxxxxkkO00OOkkxdxdooodolcccllllllllooooolcclllllllllcccccccc:;,.;llllllllcccccc
dddddddddddddddooddddddddddddddddddddddddddoddddddxxxxxxxxxxxxdxddxxkO0000OOkxdooooooolc::::cc:::::ccc:::::::::ccc::c::cccc:;,.,llllcccccccc:
ddddddddooooddddddddddddddddddddddddddddodooddoodddddoddddddddddddxxxkOOOkkkOOOkxxddoolc::;;;;;;;;:c:;,,,,,,,,,,,,,,,,;;::::;,,.,llccccccc:::
ddddooodddddddddddddddddddddddddddddddooooodooooooodooooddooooooddddddxdxxddddddxddddoollllcccccclolcccccccccccllllllllcccc::;;;;;ccccc::::::
lloooooodooddddddddddddddddddddddddddddddddddddddddddoooooooolooododddooooodddddoooooooooooooooooooooooollllllooooooooollllllccc::;;,;;;::ccc
ooooooooloooolloooooooodooooooooddddxddxxddxddddddodolloooooooooodddddooooododdodoooooooooooooooooollooooolllllllloooolllllllcccccccc:::;;;;;
ddddddddddddddoddoodddoooooooooooloooooooooodddooooooooooooddddddddddoooolodoooooooooooooolllllooooolllollolllllllllllllllllcclcccc:::cccc:::
ddddxxxxddxxddxxxdddddodoodooooddddoddooooolllollolclllcllllllooooooooooooodooooooooooooolllclllllllllllllllllllllcclllllllllllcccccc::::cccc
..',;:cclodxxxxddxxddxdxxddddddddooodddddoooddoooooooolllllccllcccccc:cccccllclooooooooollllllllclllllllllllllclcccccclccllcccccccccclcc:::::