ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdol:;,''''''''''''',:ldkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooooo
ooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:;,''''',,,,,,,,,,,,''''''',;:ldxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
oooddddddddddddxxxxxxxxxxxxxxxkkkkkxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;'..''''',,,,,,,,,;,,,,,,,,,,,,,,,,,,:lxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
oddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,:oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkko;'''''''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,:okkkkkxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkOOOOOOOOOOOOOOOOOOkl,''....'''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,:dkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,........''''',,,,,;;;;;;;;;::::::::::::::::::::;;;;;;;;cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.......''''',,,,,;;;;;;;;;;:::::::::::::::::::::::;;;;;;;:dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc.........'''',,,,,;;;;;;;;;;;:::::::::::cccc:::::::::::;;;;;;lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dddxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo.......''''''',,,,,;;;;;;;;;;;;:::::::::::ccc:::::;;;;:::;;;;;;okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;......'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::;;;;::;;;;;;;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.....'.''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::::::::;;;;,ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo...'''....'''''',,,,,,;;;;;;;;;::::::::::::ccc:::::::::::::::;;;;;dkkkkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc.''.....'''''''',,,,,,,;;;;;;;;;::::::::::cccccccccc::::::::::;;;;lkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOkOOOOOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,.'''.....''''''',,,,,,,;;;;;;;;;::::::::::;,;;;:::cc:::::::::::;;;:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.''......'''''''',,,,,;;;;;;;;;;:::::;,'..........',;;;::::::::;;;;okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl..''.......''''''',,;;;;;;;;;;;;:;;;;,........        ...,;;;;;;,,,';xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkk;..''........'''''',,,,''''''.......  ..       .'''..      .',,''..   .xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkk,,,,'...........                ..........   .,,,,'.... ...  ....      ,:::lxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkkkkkkkkkkkkkx,...,;;,..   . ........''..................  ..'''..........       ....okx:..'okkkkkkkkkkkkxxxxxxxxxxxxxxxxddxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd,'''''';c::;;,''',,,;;;;;::;;;;,,'......     .....   ...''..  .   ....:kkxl... .lkkkkkkkkkkkxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxc,,,;;;,,,::;;;,'',,,;;;;:::::::::;;,,,,,'..  .... .....'''.. ,;'   ...;;,'.... .ckkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxd:;;;:cccc:,,,,,,,',,,;;;;;:::ccccccc::;;;;,,. '''....'','..  'clc;   .,ldxxc....xkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddl:;;:cc;'...;::;,,,,,;;;;;::::cccccllcccc:::, .,,,,,,;;;.  .'clllc:..oxkxxd::;,ckkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddd:;;::,,;;,;llc:;,,,,,,,;;;::::ccccllllllccc:;. .,;::;;'. .,ccllllcc;dxxxxl,',;xkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddo:;::;clc;;cc::;,,,,,,,,;;;:::ccccccclllcccc:::,.........;:ccllllllccdxdo'..;xkxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo:;;::cc;;,;;;;,,,,,,,,,,;:::::ccccccccccccccc::;;,,'.';:cllloooollc::;'';oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddddddoc;,;;:c:;,,,,,,,,,,',,,;;::::::::ccccccllllllcc:;,'';:ccccc::::cc::odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddo:;;:::c:;,,'',,,,',,,,;;;:::::::::ccllllllllc::,''''.......'',,;lxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddoc;::ccc:,'''''',,,,,,,;;;:::::::ccclllllllc::::;,...........'cdxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkxddddddddddddddoo:'',,'..'''''',,,,,,,;;;;::cccccccccclcccc:::::;;,,,''....',lxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkxxxdddddddddddddooo;,''...''''',,,,,,,,,;;;;::::ccccccccccc::::;;,,,,,,,''''',cxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxkkkkkkkkkkxkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxxxxxxddddddddddddddooo:,,,,'''''''',,,,,,,,,,;;;::::ccccccc::;;;,,,;;::;;,,'',,''cxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxkkkxxkxxxxxxxxxxxxxxkkkkkkkkkkkkxxxkxxxxxxxxxxxxdddddddddddddddooc,,,,,,'''''''',,,,,,,,;;;;::::::::::;,,,,,,,,,'...........lxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxxdddddddddddddddddol,,,,,,''....''''',,,,,,,;;;;;;;:::;;,'''.......''.........dxxxxxxxxxxddddxxxxxxdddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,''.....''''',,,,,,,,,,,;;;;;,'...'',,,;;;;;,,,,'..:xxxxxxxxxxxdddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo,,,,,,,,'.........''''''''''',,,,,'''',,,,,,''''''...''''dxxxdddxxxxdddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo,,,,,,,,'....................''''..''',,''''...........'odddddddxxxddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,,'...........................'''''''''''.......,oddddddddxddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'.........................'''',,,,,,,,''''''',oodddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,''........................'',,,,,''''''.''..,oddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl,,,,,,,,,,''.........................'''''...........:ooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooodd:,,,,,,,,,,,,''......................................;oooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooc,,,,,,,,,,,,,'...................      ............,cooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooooooo:,,,,,,,,,,,,,,''......'..........           ..',;cloooooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooolc:,,,,,,,,,,,,,,,,,,''................     .....;oooooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl::;'..,,,,,,,,,,,,,,,,,,,,''........................',loooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl:'..'........,;;;;,,,,,,,,,,,,,,,,''...................'''''',,:clooooooooodddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc;,................,;;;;,,,,;,,,,;;;;,,,,'''.............''''''''','....:ooooooooooooddddddddddddddddddddddddddddodoooooooooooooooooooooo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdlc::'.......................,;;;,;;;;;,;;;;;;;,,,,''''.......'',,,,,,,,,,,,'....';coooooooooddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddddl,.............  ...............',;;;;;;;;;;,;;;;;;,,,,,,'''''',,,,,,,,,,,,,,,.........,:looooodddddddddddddddddddddddddodddooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxxdddddddolc:'................  .................',;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;,,,,,,,,,'............',:lodddoooddddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddo:,'......................  ....................,;;;,,;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,...................,:looooddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddolccclodddol:,.........................  .......................',,,,;;;:;;;;;,,,,,,,,;;;;;;;;,;;;,'.......................';codddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddoc,......',,''............................ ............................,;;;::::;;;;;;;;;;::::;;;;;;,..............................,:lodddddddddoooooooooooooooooooooooooooooooo
dddddddddddddddddddddddoo;........................................................................,;;:::;;;;;;;:::::::;;;;,...................................,loddddddooooooooooooooooooooooooooooooooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdlc;,'''''''''''''',:ldkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlc;,''''',,,,,,,,,,,,,''''''',;cldkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
oooddddddddddddxxxxxxxxxxxxxxxkkkkkxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:,''.''''',,;;,,;;;;;;,,,,,,,,,,,,,,,,:oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
oddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,;cdkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkxl,'''''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,cdkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkOOOOOOOOOOOOOOOOOOxc'.....''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkl'.......''''',,,,,,;;;;;;;;;::::::::::::::::::::;;;;;;;;oxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........'''',,,,,,;;;;;;;;;;:::::::::::::::::::::::;;;;;;;:xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dddxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;.........'''',,,,,;;;;;;;;;;;:::::::::::cccc:::::::::::;;;;;:dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:.......''''''',,,,,;;;;;;;;;;;;:::::::::::ccc:::::;;;::::;;;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.....''''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::;;;;::;;;;;;ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl......''''''''',,,,,;;;;;;;;;;;::::c::::::::c:::::::::::::::;;;;;okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:...''''''''''''',,,,,,;;;;;;;;;::::::::::cccccc::::::::::::::;;;;:kkkkkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,...'....''''''',,,,,,,,;;;;;;;;;:::::::::ccccccccccc::::::::::;;;;dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.''......''''''',,,,,,,;;;;;;;;;:::::::::;,,;;;:::cc::::::::::;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.''......''''''',,,,,;;;;;;;;;;::::::;'...... ....',,;::::::::;;;;;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;..'.......''''''',,;;;;;;;;;;;;::;;;,'.......         ...,;;;;;,,,'':kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOx'.'''........''''',,,,'''..'........  .       .'''...      .',,'...   ;kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkd',,,'..........                ...........   ',,,,'........  ...      .;:::lxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkkkkkko'..',;;'..  ...........'''................  ...'''..........       ...'kkd,..,dkkkkkkkkkkkkxxxxxxxxxxxxxxxxddxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl''''''';c::;,'''',,,;;;;;::;;;;,,'......    .....   ....'... ..   ...'dkkx,... 'dkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxd;,,,;;;,,;:;;;;,'',,,;;;;:::::::::;;,,,,''.. ..... .....''. ..;;.  ...',,,'.... ,dkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxo;;;;cclcc;,,,,,,,',,,;;;;;:::ccccccc::;;;;,'  ,,'....'','.  .:llc'  .'cdxxd;...:kkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddc;;;cc:,...':::;,,,,,;;;;;:::ccccccllcccc:::' .;,,,,;;;,.  .;clllc;.;xxxxxo:;:'dkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddo:;;c;',;;,:lcc;;,,,,,,,;;;:::cccccllllllccc:,...,::;;,....:cclllllc:xxxxd:',,okkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddl:;c;;ll:;:cc:;;,,,,,,,,;;::::ccccccclllccc::::,........,:cccllllllclddd:...lkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddl;;;:cc:;;,;;;;,,,,,,,,,;;:::::ccccccccccccccc::;,,''',;:cllooooolcc::;',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddddddo:;,;;:c:;,,,,,,,,,,,,,,;;::::::::cccccllllllccc:;,',:ccccc::;::c::cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddl::;:::c:;,,'',,,,',,,,;;::::::::::cclllllllcc:;,.'''.......'',,:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddo:;::ccc:,'''''',,,,,,,;;::::::cccccllllllcc::::;,'.'........,oxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkxxdddddddddddddoo:'',''..''''',,,,,,,,;;;:::::cccccclllcccc:::::;;,,'''....',dxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkxxxdddddddddddddool,,''...''''',,,,,,,,;;;;::::ccccccccccc::::;;;,,,,,,,''''',oxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxkkkkkkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxddddddddddddddooo;,,,'''''''',,,,,,,,,,;;;:::::ccccccc:;;;,,,;;;::;,,''','''oxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxxkkkkkkkkkkkkxxxkxxxxxxxxxxxxddddddddddddddooo:,,,,,''''''''',,,,,,,;;;;;:::::::::;;,,,,,,,,''..........'dxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,''....'''',,,,,,,,;;;;;;;:::;;,''.......''''.......;xxxxxxxxxxxdddddxxxxxdddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,'......''''',,,,,,,,,,;;;;;,,'..'',,,,;;;;,,,,,'..oxxxxxxxxxxxdddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,''........'''''''''''',,,,,'''',,,,,,''.......''.:xxxxxxxxxxxdddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddool,,,,,,,,'..............'.....''''..'''',''''...........;ddddddddxxxddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,,............................'''''''''''....'..;dddddddddxddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:,,,,,,,,'.........................''',,,,,,,,,''''''':odddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,,,,''........................'',,,,,'''''..'..';oddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,,'..........................'''''..........'looooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooodo;,,,,,,,,,,,,''......................................coooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooo:,,,,,,,,,,,,,'...................      ...........':looooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooooool:,,,,,,,,,,,,,,''......'..........           .',;:looooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooocc:,,,,,,,,,,,,,,,,,,''................     ....':oooooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl::;'..,,,,,,,,,,,,,,,,,,,,''........................',looooooooooooodddddddddddddddddddddddddddddddddddddddooooooooooooooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl;'..'.......',;;;;,,,,,,,,,,,,,,,'''..................''''''',,:clooooooooodddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddlc;,................,;;;;,,,,;;,,;;;;;,,,,'''............'''''''''','....cooooooooooooddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxolc::'......................';;;;;;;;;;;;;;;;;;,,,,,'''.....'''',,,,,,,,,,,,.....';coooooooooddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddddc,............. ................';;;;;;;;;;,,;;;;;,,,,,,,''''',,,,,,,,,,,,,,,,.........,:looooodddddddddddddddddddddddddddddooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxxxxxdxddool;'................ ..................',;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;,,,,,,,,,.............',:lodddoooddddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddo:,'...................... ....................';;;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,,,,,,...................,:loooodddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddolccclddddol:,.......................... .......................',,,,;;;::;;;;,,,,,,,,;;;;;;;;;;;;,........................';codddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddoc,......',,'.........................................................',;;;:::;;;;;;;;;;:::::;;;;;;,..............................,:lodddddddddoooooooooooooooooooooooooooooooo
dddddddddddddddddddddddoo,.......................................................................';;::::;;;;;;;:::::::;;;;'...................................,loddddddooooooooooooooooooooooooooooooooo
ooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;,''',,''''''''',:ldxkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,'''',,,,,,,,,,,,,,,''''''';:ldkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoo
oooddddddddddddxxxxxxxxxxxxxxxkkxkkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''..'''',,,;;,;;;;;;;,,,,,,,,,,,,,,,,coxkkkkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
odddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkOOkkkkkkkkkkkkkd:'''''''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkkxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkOOOOOOOOOOOOOOOOOkd;'....''''''',,,,;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;oxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx:'.......''''',,,,,;;;;;;;;::::::::::::::::::::::;;;;;;;:dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,........'''',,,,,;;;;;;;;;;:::::::::::::::::::::::::;;;;;;lxkkkkkkkkkkkkkkxkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,.........'''',,,,;;;;;;;;;;;;:::::::::cccccc:::::::::::;;;;;cxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;......'''''''',,,,;;;;;;;;;;;;::::::::::::ccc::::;;;;::::;;;;;cxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'.....'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::;::::;;;;;;okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:......'''''''',,,,,;;;;;;;;;;;::::::::::::::cc:::::::::::::;;;;;;xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,'..'''''''''''',,,,,,,;;;;;;;;:::::::::::ccccccc::::::::::::;;;;;lkkkkkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''''....''''''',,,,,,,;;;;;;;;;:::::::::cccccccccccc:::::::::;;;;:kkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''.....'''''''',,,,,,;;;;;;;;;:::::::::;,,,,;;::::::::::::::::;;;dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''......'''''''',,,,,;;;;;;;;;;:::::;,.......  ....,,;::::::::;;;;ckkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,..'.......''''''',,;;;;;;;;;;;;::;;,'........         ...,;;;;;,,'''lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkOOko'.''........'''''',,,''....'.......   .      ..,,'..    .. .',''..   .lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkl',,,'.........               .............  .,,,,,'........  ...      .::;;lxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc'..',;;'.. ...........'''''...............  ..'''..........       ....ckko...;dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:''''''':c::;,'''',,;;;;;:::;;;;,,'......    ...     ...''......   ..':kkko...  ;xkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxo;,,;;;;,,;:;;;,,'',,;;;;::::::::::;;,,,,,'.  ..........''....':;.  ...',,,'.....ckkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl;;;:cclc:,,,,,,,,,,,,;;;;::::ccccccc::::;;;. .,'''..'',,.. ..clc:.  .:oxkxo,''.okkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo:;;:cc;'...;:::,,,,,,;;;;;:::ccccccllcccc::;. .;,,,,;;;'.  ':lllcc,.cxxxxxl::;:xkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddl;;:c;,,;;;clc:;,,,,,,,;;;::::cccccllllllcc::,...,;:;,'...,:ccllllc:lxxxxo,',;xkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;;c;:ll:,cc::;;,,,,,,,,;;::::ccccccclllccc::::,'......';:cclllllllcoddo;..;dkkkkxkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;;:cc:;,,;;;,,,,,,,,,,;;:::::ccccccccccccccc::;;,'',;:clllooooolc:::;,:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;:c:;,,,,,,,,,',,,,;;:::::::::ccccllllllcc::;'';:ccc::;;;;::::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddoc:;:::cc:;,,',,,,'',,,,;;:::::::::ccclllllllc::;'.......  ..'',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddddddddddo:;::cc:;''''''',,,,,,,;;:::::ccccclllllllc:::::;,''''......':xxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkxxdddddddddddddoo;''''...''''',,,,,,,,;;;::::ccccccllccccc::c:::;,,,,'.....,:xxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkxxxdddddddddddddooc,,'...''''',,,,,,,,,;;;;::::cccccccccc::::;;;,,,,,,,,,'''';dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxddddddddddddddool;,,,'''''''',,,,,,,,,,;;;:::::cccccc::;;,,,,;;::;,,''''''';dxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxkkkxxxxxxxkkxxxxxxxxkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddooo:,,,,,'''''''',,,,,,,,,;;;;:::::::::;;,,,,,,,''...........;xxxxxxxxxxxxxdxxxxxxxxxxxddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddoo:,,,,,,''....'''',,,,,,,;;;;;;;;:::;,,''......'',,'.......cxxxxxxxxxxxddddxxxxxxddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:,,,,,,,'......''''',,,,,,,,,,;;;;;,''..',,,,,,;;;,,,,,'.,dxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,''........'''''''''''',,,,'''',,,,,,,'.........''lxxxxdddxxxddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,,.....................'''...'''''''''..........'lddddddddxxxddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:,,,,,,,'...........................''''''',,,''....'.'cdddddddddxdddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,'.........................'''',,,,,,,,,'''''',loddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl,,,,,,,,,''.......................'',,,,,'''''......'codddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd:,,,,,,,,,,'..........................'''''..........,oooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddooooodo;,,,,,,,,,,,'''.....................................,loooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooo;,,,,,,,,,,,,,'...................         .......';coooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,''.'....'..........          ..,;:loooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooocc;,,,,,,,,,,,,,,,,,,''...............     .....'coooooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddooc:;,..',,,,,,,,,,,,,,,,,,,,''........................';looooooooooooodddddddddddddddddddddddddddddddddddddddooooooooooooooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddol;...........',;;;;,,,,,,,,,,,,,,,''''.................'''''''',::looooooooodddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdol:,'................,;;;;;,,;;;,,;;;;;,,,,''''...........'''''''''','...'cooooooooooooddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdol::;.......................';;;;;;;;;;;;;;;;;;,,,,,''''....''',,,,,,,,,,,,,.....';coooooooooddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxdddddoc,............. ................';;;;;;;;;;,,;;;;;;,,,,,,,''',,,,,,,,,,,,,,,,'.........,:looooodddddddddddddddddddddddddddddooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxddddolc;................. ..................',;;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,..............,:lodddoooodddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddl;,'...................... ....................',;;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,,;,,'...................,:looooddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddolccloddddol:,.........................  .......................',,,,;;;::;;;;,,,,,,,;;;:;;;;;;;;;'.........................,codddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddo:,......',,'............................. ............................,;;;:::;;;;;;;;;;:::::;;;;;,'..............................':lodddddddddoooooooooooooooooooooooooooooooo
ddddddddddddddddddddddddl,........................................................................,;::::;;;;;;::::::::;;;,....................................'coooodddooooooooooooooooooooooooooooooooo
oooooddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;,''','''''''''',cldkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdl:;,'''',,,,,,,,,,,,,'''''''',;coxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoo
oooddoddddddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;'''.'''',,,,;;;;;;;;,,,,,,,,,,,,,,,,;cdkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
odddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkko:'''''''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkOOOOOOOOOOOOOOOOOOOko;''...''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx:........'''',,,,,,;;;;;;;;::::::::::::::::::::::;;;;;;;cdkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,........'''',,,,,;;;;;;;;;;:::::::::::::::::::::::::;;;;;;lkkkkkkkkkkkkkkkxkkkxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddd
ddxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'........'''',,,,,;;;;;;;;;;;;:::::::::cccccc:::::::::::;;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,......''''''',,,,,;;;;;;;;;;;;:::::::::::cccc::::;;;;::::;;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc......'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::;;;::::;;;;;;okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,......'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::::::::;;;;;:kkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''....'..''''''',,,,,,;;;;;;;;;:::::::::::ccccc::::::::::::::;;;;;dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''''.....'''''',,,,,,,,;;;;;;;;::::::::::cccccccccccc:::::::::;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''......'''''',,,,,,,;;;;;;;;:::::::c::;,',,;;:::::::::::::::;;;;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'''......'''''''',,,,,;;;;;;;;;;:::::;,.......  ...',;;::::::::;;;;lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.''.......''''''',,,;;;;;;;;;;;::;;,'........        ...',;;;;;,,'''okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkOOOOl'.''........'''''',,,'''...........   .      .',''..   ..  .,,''..   .dkOkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkc,,,,'..........              ............   .,,,,,'........  ..       '::;:lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkkkkkkkkkkkkkkkk:...';;,..  ...........'''''...............  ...''..........       ....lkxl...:xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'''''',:c::;,'''',,;;;;;:::;;;;,''......    ...     ...''... ..   ..'ckkxl... .;kkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,,,;;;;,,::;;;,,',,,;;;;::::::::::;,,,,,''.  ..........''....,:,.  ...',,''.....lkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxc;;;:cclc:,,,,,,,,,,,,;;;;::::ccccccc:::;;;,. .,''...'',,.. .'clc:.  .:dkkxl'''.dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo:;;:cc;'...;::;,,,,,,;;;;::::ccccccllcccc::;. ',,,,;;;;'. .'clllc:,.lxxxxxc::,ckkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddc;;::,',;;;clc:;,,,,,,,;;;::::cccccllllllcc::'..';::;,'...;cclllllc:lxxxxo,',;xkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;;c,:ll:;cc::;;,,,,,,,,;;:::cccccccllllccc:::;,'......';:ccllllllccoddl,..:xxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;::cc:;;,;;;,,,,,,,,,,;;:::::ccccccccccccccc:;;,,'',;:clllllooolc:::;,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl;;;;;:c:,,,,,,,,,,',,,,;;::::::::cccccllllllcc::;'';:ccc::;;;:::::dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddoc:;:::cc:;,,',,,,',,,,,;;:::::::::ccllllllllc::;'.......  ..'',:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddddddddddo;;::cc:;'''''',,,,,,,,;;:::::ccccclllllllc:::::;'''''......'cxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxddddddddddddddoo;,,,'...''''',,,,,,,,;;;::::ccccclllllccc::c::;;,,,''.....,cxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkxxxxdddddddddddddooc,''...''''',,,,,,,,,;;;;::::cccccccccc::::;;;,,,,,,,,''''';xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxddddddddddddddool;,,,'''''''',,,,,,,,,,;;;:::::cccccc::;;,,,;;;::;,,'''','';xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxxxxxkkkxkkxxkkxxxxxxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddooo;,,,,,'''''''',,,,,,,,;;;;;:::::::::;,,,,,,,,''...........:xxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkxxkxxxxxxxxxxxxxxxddddddddddddddddoo:,,,,,,'.....'''',,,,,,,;;;;;;;::::;,,''......'',,'.......lxxxxxxxxxxxxdddxxxxxxdddddddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo:,,,,,,''......'''',,,,,,,,,,,;;;;;,''..',,,,,;;;;,,,,,'.,dxxxxxxxxxxxdddddddddddddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:,,,,,,,'.........'''''''''''',,,,'''',,,,,,,'........'''oxxxxdddxxxxdddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:,,,,,,,'.....................'''...'''''''''..........'lddddddddxxxdddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:,,,,,,,'...........................''''''',,,''....'.'ldddddddddxddddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,'.........................'''',,,,,,,,,'''''',loddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl,,,,,,,,''........................'',,,,,''''''.....'lodddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd:,,,,,,,,,,'..........................'''''..........;oooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooodl,,,,,,,,,,,,'''.....................................,loooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooo;,,,,,,,,,,,,,'..................         ........';coooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooool;,,,,,,,,,,,,,,'......''..........          ..,;cloooooooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooocc;,,,,,,,,,,,,,,,,,'''...............     .....'coooooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoc::;'.',,,,,,,,,,,,,,,,,,,,''........................';loooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl;'..'.......',;;;;,,,,,,,,,,,,,,,''''.................'''''''',:clooooooooddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddlc;'................,;;;;,,,,,,,,;;;;;,,,,''''...........'''''''''','...'cooooooooooooddddddddddddddddddddddddddddddoooooooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxolc::'....... ..............';;;;;;;;;;;;;;;;;;,,,,,'''......''',,,,,,,,,,,,.....';coooooooooddddddddddddddddddddddddddddddoooooooooooooooooooooo
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxdddc,............. ................,;;;;;;;;;;,,;;;;;;,,,,,,'''',,,,,,,,,,,,,,,,'.........,:looooodddddddddddddddddddddddddddooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxddool;'................ ..................';;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;,,,,,,,,,..............,:loddddoooddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddo:,'...................... ....................';;;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,,;,,'...................,:looooodddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddolccloddddol:,.........................  .......................',,,,;;;:;;;;;,,,,,,,;;;:;;;;;;;;;'........................';codddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddoc,......,;;,'............................ ...........................',;;;:::;;;;;;;;;;:::::;;;;;,'..............................,:lodddddddddoooooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo,.......................................................................';;::::;;;;;;;:::::::;;;,....................................'cooooodoooooooooooooooooooooooooooooooooo
ooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;,'''''''''''''',:ldkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
oooododdddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,'''',,,,,,,,,,,,,''''''''';:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
oodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl;'''''''',,,,,,;;;;;;,,,,,,,,,,,,,,,,;coxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo
ddddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:'''''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkOOOOOOOOOOOOOOOOOOOko;'''.'''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx:........'''',,,,,,;;;;;;;;:::::::::::::::::::::;;;;;;;;:okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,.......''''',,,,,;;;;;;;;;;::::::::::::::::::::::::;;;;;;;lxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'........'''',,,,,;;;;;;;;;;;::::::::::cccc:::::::::::::;;;;;cxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,......''''''',,,,,;;;;;;;;;;;;::::::::::cccc:::::;;;::::;;;;;;cxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl......'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::;;;;::;;;;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;.....''''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::::::::;;;,,;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk''..'''''''''''',,,,,,;;;;;;;;;:::::::::::cccc:::::::::::::::;;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''''....''''''',,,,,,,,;;;;;;;;::::::::::ccccccccccc::::::::::;;;;:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''.....'''''',,,,,,,,;;;;;;;;:::::::c::;;,,,;;:::c:::::::::::;;;;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''.....'''''''',,,,,;;;;;;;;;::::::;,'......  ...',;;::::::::;;;;ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'..'.......''''''',,,;;;;;;;;;;::;;;;,........        ...',;;;;;,,'''lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkOOOOOOOOOOOOOOOOOOOOOOOOkkkkkOkkkkOOOOl'.''........'''''',,,,'''.''.......   .      ..,''..    .  .',''..   .lkOkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkc',,''..........               ...........   .,,,,,'........  ...      .::;:lxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkk:...,;;,..    .........''''................  ...''..........       ....:kxo...;dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'''''',:c:;;,'''',,;;;;::::;;;,,''.....     ...     ...''... ..   ...;xkko'..  ,xkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,,,;;;,,,:::;;,,',,,;;;;::::::::::;,,,,,''.  ..........''....':;.  ...',,''.....ckkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl;;;:cccc:,,,,,,,,,,,,;;;;:::cccccccc:::;;;,. .,''...'',,..  .clc:.  .;oxkxo,''.okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddo:;;:cc;'...;::;,,,,,,;;;;:::cccccccllcccc::;. ',,,,,;;;'.  ':lllcc,.cxkxxxl::;;xkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddc;;:c;',,,,clc:;,,,,,,,;;;::::cccclllllllcc::'..';::;;'...,ccllllcc:lxxxxo,',,xkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;;:,:ll:;ccc:;;,,,,,,,,;;:::ccccccllllcccc:::;,........,:ccllllllccoxdo;..,dkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;::cc:;;,;;;,,,,,,,,,,;;::::ccccccccccccccc::;;,,''';:clllooooolc:::;,:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl;;,;;:c;,,,,,,,,,,',,,,;;:::::::ccccccllllllcc::;'';:cccc::;;:::::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddoc:;:::cc:;,,','''',,,,,;;:::::::::ccclllllllc::;'.'...... ..'',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddddddddddo;;::cc:;''''''',,,,,,;;;:::::ccccclllllllc:::::;'.''.......':xxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddoo,,,,'...''''',,,,,,,,;;;::ccccccclcclcccc::c:::;,,,,'.....,:xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddddddooc,''...''''',,,,,,,,,;;;;::::cccccccccc:::::;;,,,,,,,,''''';xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddoool;,,,'''''''',,,,,,,,,,;;;::::ccccccc::;;,,,,;;::;,,'''','',dxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxkkkkkkxxkkxxxxxxxxxxxxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddoooo;,,,,,'''''''',,,,,,,,;;;;;:::::::::;,,,,,,,,,'...........;xxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddddo:,,,,,''....''''',,,,,,,;;;;;;;::::;,,''.......'''........cxxxxxxxxxxxddddxxxddddddddddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo:,,,,,,''......'''',,,,,,,,,,,;;;;;,''..',,,,,,;;;,,,,,'.'dxxxxxxxxxxxddddddddddddddddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,''........''''''''''',,,,,'''',,,,,,,''.......'''lxxdddddxxxxddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,,'...............'.....'''...''','''''..........'cddddddddxxxdddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo:,,,,,,,'...........................'''.''''''''....'.'cdddddddddxddddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo;,,,,,,,'.........................'''',,,,,,,,,'''''',coddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddl,,,,,,,,''........................'',,,,,''''''.....'codddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd:,,,,,,,,,''..........................'''''..........,ooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooodo;,,,,,,,,,,,''......................................'looooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooo;,,,,,,,,,,,,,'..................      ............,:ooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooool;,,,,,,,,,,,,,,'......''..........           .',;clooooooooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddooooolc:,,,,,,,,,,,,,,,,,''................      ....'coooooooooooooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddlc:;'.',,,,,,,,,,,,,,,,,,,,''........................';looooooooooooodddddddddddddddddddddddddddddddddddddddooooooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl:''''.......,;;;;,,,,,,,,,,,,,,,,''...................''''''',;:clooooooooodddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoc;,................,;;;;,,,,,,,,;;;;;,,,,'''............''''''''',,'...'coooooooooooddddddddddddddddddddddddddddddooooooooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdolc:,......................';;;;;;;;;;;;;;;;;,,,,,''''......''',,,,,',,,,,,.....';coooooooodddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxdddl;............. ................,;;;;;;;;;;,,;;;;;;,,,,,,''''',,,,,,,,,,,,,,,,.........,:looooodddddddddddddddddddddddddddooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxdddol:'................ ..................';;;;;;;;;;;;;;;;;,,,,,,,,,,,,;;;,,,,,,,,,,..............,:loddoooooddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddo:;,'..................... ....................';;;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,,,,,'...................,:looooddddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddolloodddddoc;.........................  .......................,,,,;;;;;;;;;;,,,,,,,;;;;;;;;,,;;;,........................';codddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddol;'....';:;,'........................................................',;;::::;;;;;;;;;;:::::;;;;;;,..............................,:loddddddddddooooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo;.......................................................................';;::::;;;;;;::::::::;;;;'...................................'cooooodoooooooooooooooooooooooooooooooooo
ooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;,''''''''''''''':coxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,'''',,,,,,,,,,,,,,'''''''',:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ooddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''.'''',,,;;;;;;;;,,,,,,,,,,,,,,,,,,:oxkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
dddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,;cdkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkkkkkkkkkkdc,''''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkd:'''..''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkOOOOOOOOOOOOOOOOOOOkc'.......'''',,,,,,;;;;;;;;;::::::::::::::::::::;;;;;;;;:okkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,........'''',,,,,;;;;;;;;;;:::::::::::::::::::::::::;;;;;;cxkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,........'''',,,,,;;;;;;;;;;;;::::::::cccccc::::::::::::;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;......'''''''',,,,;;;;;;;;;;;;::::::::::cccc:::::;;;::::;;;;;;:xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo......'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::;;;:::;;;;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:......'''''''',,,,,;;;;;;;;;;;::::::::::::::c::::::::::::::;;;;,;dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,'..'''''''''''',,,,,,,;;;;;;;;:::::::::::cccc:::::::::::::::;;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''''....'''''',,,,,,,,;;;;;;;;;::::::::::ccccccccccc:::::::::;;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''.....''''''',,,,,,,;;;;;;;;;:::::::::;,',,;;:::c:::::::::::;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''''.....'''''''',,,,,;;;;;;;;;::::::;,'......  ....,;;::::::::;;;;:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,..'........'''''',,,;;;;;;;;;;;:;;;;'........         ...,;;;;;,,'''ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkOOOOOOOOOOOOOOOOOOOOOOOOOkkkkOkkkOOOOOd'.''........'''''',,,'''...'.......   .       .,''..    .  .',''..   .ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkko',,,'..........               ...........   .,,,,,'........  ...      .::;;cxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkOOOOOOkkkkkkkkkkkkkkkkkkkkkkkl...';;,..   ..........'''''...............  ...''..........       ....;kkd'..,okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'''''',:c::;,'''',,;;;;::::;;;;,''......    ...     ...''... ..   ...,xkkd'..  .dkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;,,,;;;,,::;;;,,',,,;;;;::::::::::;,,,,,''.  ..........'''.  .:;.  ...',,''.....:xkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl;;;:cclc:;,,,,,,,,,,,;;;;::::cccccc::::;;;,. .,''...''',..  .clc:'  .;lxkxd;''.ckkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo:;;:cc:'...,::;,,,,,,;;;;::::ccccclllcccc::;. .,,,,,;;;,.  .:lllcc;.:xkxxxoc::,xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddl;;:c;',;,,clc:;,,,,,,,;;;::::cccclllllllcc::'..';::;;'...,:ccllllcccxxxxd;',,dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddc;;c;:ll:;ccc:;;,,,,,,,,;;::::ccccccllllccc::::,........,:cclllllllclxdo;..'dkkkkxkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;::cc:;;,;;;,,,,,,,,,,;;::::cccccccccccccccc::;,,''';:clllooooolc:::;,;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddl:;,;;:c:,,,,,,,,,,',,,,;;:::::::ccccccllllllccc:;'';:cccc::;;:::::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddoc:;;::cc:;,,',,,,',,,,,;;:::::::::ccclllllllc::;'.'.....  ..'',;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddo:;::ccc;,'''''',,,,,,;;;:::::ccccclllllllcc::::;'.''.......';dxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddo;',,'...''''',,,,,,,,;;;:::ccccccllllcccc::c:::;,,,,'.....,;xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddol,,'...''''',,,,,,,,,;;;;::::ccccccccccc:::;;;;,,,,,,,''''',dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddddoo;,,,'''''''',,,,,,,,,,;;;::::ccccccc::;;;,,,;;::;,,,''','''dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxkkkkkkxkxxxxxxkxxkkxxxxxkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddddo:,,,,,'''''''',,,,,,,,;;;;;:::::::::;,,,,,,,,,'...........,dxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddddo:,,,,,,''...''''',,,,,,,;;;;;;;::::;,,''.......''''.......:xxxxxxxxxxxxdddxxxxdddddddddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,''.......''',,,,,,,,,,,;;;;;,''..',,,,,,;;;,,,,,'..oxxxxxxxxxxxdddddddddddddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,''........'''''''''''',,,,''''',,,,,,''.......''.:dxdddddxxxdddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,,,'..............'.....''''.''''''''''...........:ddddddddxxddddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,,'...........................''''''''''''....''':dddddddddxddddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,'..........................''',,,,,,,,,'''''''coddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,,,,'........................'',,,,,''''''.....':odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,,'..........................'''''..........'looooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooodo;,,,,,,,,,,,'''......................................coooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooo:,,,,,,,,,,,,,'...................      ...........':ooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooool:,,,,,,,,,,,,,,'......''..........           .',;cloooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooolc:,,,,,,,,,,,,,,,,,,''................     ....':ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddl::;'.',,,,,,,,,,,,,,,,,,,,''.......................'',loooooooooooooddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo:''''.......',;;;;,,,,,,,,,,,,,,,''...................'''''''',:clooooooooddddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoc;,................,;;;;,,,,,,,,;;;;;,,,,'''.............''''''''','....:ooooooooooodddddddddddddddddddddddddddddoooooooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdocc:,......................';;;;;;;;;;;;;;;;;,,,,,''''......''',,,,,,,,,,,,.....';coooooooodddddddddddddddddddddddddddddodoooooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddl;'............ ................';;;;;;;;;;,,;;;;;;,,,,,,''''',,,,,,,,,,,,,,,,.........,:looooodddddddddddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxdddol:'................ ..................';;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;,,,,,,,,,,..............,:loddddoooddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddoc;,......................  ...................';;;;,;;;;;;;;;;;,,,,,,,,,;;;;;;,,,,,,,,...................,:looooodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddolllodddddoc;.........................  .......................',,,;;;;::;;;;,,,,,,,;;;;;;;;,,;;;,.........................;codddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddol;'....',:;,'........................................................',;;;:::;;;;;;;;;;:::::;;;;;;,..............................':loddddddodddooooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo;.......................................................................';;::::;;;;;;;:::::::;;;;'...................................'cooooodoooooooooooooooooooooooooooooooooo
ooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolc:,''''','''''''''';coxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdl:;,'''',,,,,,,,,,,,,,'''''''',:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl;''.''''',,,;;;;;;;;;;;,,,,,,,,,,,,,,,:oxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
oddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,cdkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkOkkkkkkkkkkkkkkd:'''''''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,cdkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkOOOkOOOOOOOOOOOOOOkkkd;'....''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkOOOkOOOOOOOOOOOOOOOk:'.......''''',,,,,;;;;;;;;;:::::::::::::::::::::;;;;;;;;okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,........'''',,,,,;;;;;;;;;;::::::::::::::::::::::::;;;;;;;cxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'........''''',,,,;;;;;;;;;;;;:::::::::cccccc:::::::::::;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
ddxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;......'''''''',,,,,;;;;;;;;;;;::::::::::ccccc::::;;;;:::;;;;;;:xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo......'''''''',,,,,;;;;;;;;;;;::::::::::::::::::::::;;;;:;;;;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:......''''''''',,,,;;;;;;;;;;;::::::::::::::cc:::::::::::::;;;,,;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,.....'''''''''',,,,,,,;;;;;;;;:::::::::::cccc:::::::::::::::;;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''.....''''''',,,,,,,;;;;;;;;;:::::::::cccccccccccc:::::::::;;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''.....''''''',,,,,,,;;;;;;;;;:::::::::;,'',,;;::::::::::::::;;;;okkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkOkkkOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''''.....'''''''',,,,,;;;;;;;;;::::::;,......   ....,;;::::::::;;;;:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,..'.......''''''',,,;;;;;;;;;;;:;;;,'.......          ...,,;;;;,,''.ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkOOOOd'.''........'''''',,,'''...........          ..,,'..    .. .',''..    :kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkko',,,'.........               ............   .,,,,,'........  ..       .::;;cdkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkc...';;,'.  ...........'''''...............  ...''..........       ....:kkd'..'okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'''''',:c::;,'''',,,;;;;;::;;;;,,'......    ..      ...''... ..   ...,xkko'..  .dkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;,,,;;;,,;:;;;,,',,,;;;;::::::::::;,,,,,''.  ..........''..  ':;.  ...',,''.....:xkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxl;;;:cccc:,,,,,,,,',,,;;;;::::cccccc:::;;;;,. .,''...'',,..  .cll:'  .;oxkxd,''.lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdd:;;:cc;'...,::;,,,,,,;;;;::::ccccclllcccc::;. ';,,,;;;;'.  ':lllcc;.:xxxxxl:;:,xkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddl;;;c;',;,,clc:;,,,,,,,;;;::::cccclllllllcc::'..',::;;'. .,cccllllc:cxxxxd,'',dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddc;;c;:ll:,ccc:;;,,,,,,,,;;::::ccccccllllccc::::,'.......,:cclllllllclxdo;..,dkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;::cc:;,,;;;,,,,,,,,,,;;:::::cccccccccccccc::;;,,''';:clllooooolc:::;,;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddl:;,,;:c:,,,,,,,,,,'',,,;;::::::::cccccllllllccc:;'';:ccc::;;;;::::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddol:;:::cc:;,,',,''',,,,,;;::::::::::cclllllllc::;'.......  ..'',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddo:;::ccc;,'''''',,,,,,;;;:::::ccccclllllllcc::::;,''''......';xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddddddddddo;,'''...''''',,,,,,,,;;;:::cccccccccccccc::::::;,,,,'.....,;xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddo
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddol,,'...'''''',,,,,,,,;;;;::::cccccccccc::::;;;,,,,,,,,''''',dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxkkkkkkkkkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddddoo;,,,,''''''',,,,,,,,,,;;;::::cccccc:::;;;,,,;;::;,,'''','',dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxkkkkkxkxxxxxxkxxxxxxxxxkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddo:,,,,,'''''''',,,,,,,,,;;;;:::::::::;,,,,,,,,'............,xxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,''....'''',,,,,,,;;;;;;;;:::;,,''.......''''.......:xxxxxxxxxxxxddddxxdddddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,''.......'''''',,,,,,,,,;;;;,''..',,,,,;;;;,,,,,'..oxxxxxxxxxxxddddddddddddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,'.............'''''''',,,,''''',,,,,''........''.cxxdddddxxxxddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,''....................'''...''''''''............:ddddddddxxdddddddddddddddddddddddddddddddddddodooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,,'............................'''''''',''....'.'cdddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,'..........................''',,,,,,,,,'''''''coodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,,,,'........................'',,,,,''''''.....':odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,,''.........................'''''..........'looooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooodo;,,,,,,,,,,,'''.....................................'cooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooo:,,,,,,,,,,,,,'...................      .  ........,:ooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool:,,,,,,,,,,,,,,''.....''..........           .',:cloooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddooooocc:,,,,,,,,,,,,,,,,,,''................     ....':ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddl::;'.',,,,,,,,,,,,,,,,,,,,''........................',loooooooooooooddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl;'.''.......',;;;;,,,,,,,,,,,,,,,'''..................'''''''',::loooooooooooddddddddddddddddddddddddddddddddddooooooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc;,................,;;;;,,,,,,,,;;;;;,,,,'''.............''''''''','....:oooooooooooodddddddddddddddddddddddddddooooodooooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdlc::'....... ..............';;;;,;;;;;,;;;;;;;,,,,'''''.....''',,,,,,,,,,,,.....',:loooooooodddddddddddddddddddddddddddooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddddl,............. ................';;;;;;;;;;,,;;;;;;,,,,,,''''',,,,,,,,,,,,,,,,.........,:cooooodddddddddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxdxxxxxxxddddool:'................ ..................',;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;,,,,,,,,,,..............,;coddddooooddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddo:,'...................... ....................';;;;,,;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,'...................,;cooooodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddlccloddddolc;.........................  .......................',,,,;;;::;;;;,,,,,,,;;;;;;;;,,;;;,.........................,coodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddoc;'.....,;;,'............................ ...........................',;;;:::;;;;;;;;;;:::::;;;;;;,..............................';coddddddoddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddodo;......................................... .............................';;::::;;;;;;;:::::::;;;;'...................................':oooooooooooooooooooooooooooooooooooooooo
ooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;''''',,'''''''''',:ldkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,''''',,,,,,,,,,,,,,'''''''',;coxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;''.''''',,,;;,,;;;;;;;,,,,,,,,,,,,,,,:lxkkkkkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
odddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddddxxdxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkOOOkkkkkkkkkkkkkko:'''''''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,cdkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOkOkkkkkkkkkkOOkOOOOOOOOOOOOOOOkko;'''..''''''',,,,;;;;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;cxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
dddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkOOOOOOOOOOOOOOOOOOx:'......''''',,,,,;;;;;;;;;::::::::::::::::::::::;;;;;;;;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,.......''''',,,,;;;;;;;;;;:::::::::::::::::::::::::;;;;;;;cxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'........'''',,,,,;;;;;;;;;;;;:::::::::cccccc:::::::::::;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,......''''''',,,,,;;;;;;;;;;;:::::::::::ccccc::::;;;::::;;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl......'''''''',,,,,;;;;;;;;;;;::::::::::::::::::::::;;;::;;;;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:......''''''''',,,,;;;;;;;;;;;:::::c:::::::ccc:::::::::::::;;;;,;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,..''''''''''''',,,,,,,;;;;;;;;:::::::::::cccc::c::::::::::::;;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''''....'''''',,,,,,,,;;;;;;;;;:::::::::cccccccccccc:::::::::;;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''.....'''''',,,,,,,,;;;;;;;;;:::::::::;,'',,;;::::::::::::::;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''''.....'''''''',,,,;;;;;;;;;;::::::;'......   ....',;:::;:::;;;;;:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,..'.......''''''',,;;;;;;;;;;;;:;;;,........          ...,,;;;,,,'..:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOkkkOOOkkkOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkOOOOd'.''........'''''',,''......... ..           .',,'..    .. .'''...    :xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkko,,,,'........               .............   .,,,,,'........  ..       .::;,:dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkkkkkkkkkkkkkkkc...';;;'.. ..........'''''''..............  ...''..........       ....ckkd'..'lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'''''',:c::;,'''',,;;;;;:::;;;;,,'......    .       ...''... ..   ...;kkxo...  .dkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;',;;;;,,;:;;;,,',,,;;;;::::::::::;;,,,,,'.  ..........''..  ,:;.  ...',,',.....ckkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxl;;;:cclc:,,,,,,,,',,,;;;;:::cccccccc:::;;;;. .,'''..'',,..  'clc:.  .:dkkxd,''.lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo:;;:cc;'...;:c;,,,,,,;;;;::::ccccclllcccc::;. ';,,,;;;;'. .'clllcc;.cxxxxxl:;;;kkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddl:;:c,',;;;clc:;,,,,,,,;;;::::cccclllllllcc::'...,;;;,.. .;cccllllc:cxxxxo,'',xkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;;c;:ll:;cc::;;,,,,,,,,;;::::cccccclllcccc::::,'......';:ccllllllccoxdo;..;xxkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;:::c:;,,;;;,,,,,,,,,,;;:::::cccccccccclccc:::;,,'',;:clllllooolc:;:;;:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddo:;,,;:c:;,,,,,,,,,'',,,;;:::::::c::cccllllllcc::;'';::::::;;;;::::oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddl:;:::cc:;,,',,,,',,,,,;;:::::::::ccclllllllc::;'......   ..'',;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddo:;::cc:;''''''',,,,,,;;;:::::ccccclllllllc:::::;,''''......':xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo;''''...''''',,,,,,,,;;;::ccccccclccccccc::c::;;,,,''.....,;xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddol,,'...''''',,,,,;,,,;;;;::::cccccccccc::::;;;,,,,,,,,''''',dxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddod
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddddoo;,,,,''''''',,,,,,,,,,;;;::::cccccc::;;;;,,;;;::;,'''''''.,dxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkxkkxxxxxxxxxxddddddddddddddddo:,,,,,'''''''',,,,,,,,;;;;;:::::::::;,,,,,,,,'............;xxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,''....'''',,,,,,,;;;;;;;;:::;,''.......'',,'.......cxxxxxxxxxxxxddddxxxxdddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,''.......'''''',,,,,,,,;;;;;,'..'',,,,,,;;;,,,,,'.'dxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,'.............'''''''',,,,'''',,,,,,''.........'.ldddddddxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,,.................'...'''...'''''''''..........'cddddddddxxdddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,'...........................''''''',,,''....'.'cdddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo;,,,,,,,'.........................''',,,,,,,,,,,''''''loodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo,,,,,,,,,'........................'',,,,,''''''.....'codddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,,''.........................'''''..........,oooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooodo;,,,,,,,,,,,''......................................'looooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooo;,,,,,,,,,,,,,'...................         .......',cooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooool;,,,,,,,,,,,,,,''.....''..........          ..,;:looooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooocc;,,,,,,,,,,,,,,,,,,''...............     ......:ooooooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddooc:;;'.',,,,,,,,,,,,,,,,,,,,''.......................'',loooooooooooooddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddol;...........',;;;;,,,,,,,,,,,,,,,''''.................'''''''',;:coooooooooddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:;'................,;;;;,,,;,,,,;;;;;,,,,'''............'''''''''',,....:looooooooooodddddddddddddddddddddddddddooododooooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxol::;'....... ..............';;;;;;;;;;;;;;;;;;,,,,,''''.....''',,,,,,,,,,,,.....',:loooooooodddddddddddddddddddddddddddodooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddddc,............. ................';;;;;;;;;;,,;;;;;;,,,,,,''''',,,,,,,,,,,,,,,,.........';cooooodddddddddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxxxdxxdddolc;................. ..................',;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;,,,,,,,,,,..............,;coddddoooodddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddl;,'...................... ....................',;;;,,;;;;;;;;;;,,,,,,,,,;;;;;;,,,,,,,'...................';coooooddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddolccclodddol:,.........................  .......................',,,,;;:::;;;;,,,,,,,;;;;;;;;,;;;;,.........................,:loddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddoc,......';,''.........................................................,;;;:::;;;;;;;;;;:::::;;;;;;'..............................';codddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddooo;........................................................................,;::::;;;;;;;:::::::;;;,'...................................':oooooooddooooooooooooooooooooooooooooooo
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdlc;,'''',,,,''''''''',;coxkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,''''',,,,,,,,,,,,,,,''''''',;coxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
oooododddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,''.''''',,;;;;;;;;;;;;;,,,,,,,,,,,,,,;ldkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
odddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,:okkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkkkkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:dkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkOOOOOOOOOOOOOOOOOOOko;''....'''''',,,,;;;;;;;;;;;::::::::;;;;;;;;;;;;;;;;;cxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
dddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkOOOOOOOOOOOOOOOOOOx:'......''''',,,,,;;;;;;;;;::::::::::::::::::::::;;;;;;;;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,........''',,,,,,;;;;;;;;;;::::::::::::::::::::::::::;;;;;:xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'........'''',,,,,,;;;;;;;;;;::::::::::cccccc::::::::::;;;;;;:dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;......'''''''',,,,,;;;;;;;;;;:::::::::::ccccc::::;;;;;::;;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo......'''''''',,,,,;;;;;;;;;;;::::::::::::::::::::::;;;::;;;;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:...''.''''''''',,,,;;;;;;;;;;;::::cc:::::::ccc:::::::::::::;;;,,;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,..'''''.''''''',,,,,,;;;;;;;;;::::::::::cccccccc::::::::::::;;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'''''....'''''',,,,,,,,;;;;;;;;;:::::::::cccccccccccc:::::::::;;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''''....'''''',,,,,,,,;;;;;;;;;::::::::;,'''',,;::::::::::::::;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''''.....'.'''''',,,,,;;;;;;;;;::::::;'......    ...',;;:::::::;;;;:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,..'........'''''',,;;;;;;;;;;;;;;;,'........   ..     ...,,;;;,,''..:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkOOkkOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkOOOOd'.''........'''''''''........   .            .,,,'..    .. .'''...    ;xxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkko,,,,'........               ...........'.   .,,,,'.........  .        .c:;,:okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkOkkkkkkkkkkkkkkkkkkkkkkkc...',;;'............'',,,''''............   ...............       ....ckxd'...cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;''',''':c:::;'''',,;;;;::::;;;;,,'......    .       ...''... ..   ...;kkdl...  .dkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;,,;;;;,,;:;;;,,',,,;;;;::::::::::;;,,,,,'.  ..........''..  ,:;.  ...',,,,.....lkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl;;;:cclc:,,,,,,,,',,,;;;;:::cccccccc::::;;;. .,,''.'',,,..  'cllc'  .:dxkxd,''.lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddd:;;:cc;'...;cc:,,,,,,;;;;::::ccccclllcccc::;. .;,,,;;;;'  .,clllcc;':xxxxxl:;;;kkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddl:;:c,,;;;;clc:;,,,,,,,;;;::::cccclllllllcc::,...,;;;,....;cccllllc:cxxxxo,.',xkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddl;;c;:ll:,cc::;;,,,,,,,,;;::::cccccclllccccc:::;'......';:cclllllllclddo,..;xxkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddl;;;::c:;,,;;;,,,,,,,,,,;;::::::ccccccccllcccc::;;,'',;:clllllooolc:;:;;cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddo:;,,;:c:;,,,,,,,,'',,,,;;::::::::::cccllllllccc:;'';:::::;;,,;::::oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddl:;:::cc:;,,'',',',,,,,;;:::::::::ccllllllllc::;'......   ..'',:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddoc;::cc:;''''''',,,,,,;;;:::::ccccclllllllc:::::;,''''......':xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo:''''...''''',,,,,,,,;;;::ccccccccccccccc:::::;;,,,''.....,;xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddddol,,''..'''''',,,,,,,,;;;;::::cccccccccc::::;;;,,;,;;;,,','',dxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkxxxdddddddddddddddoo;,,,,''''''',,,,,,,,,,;;;:::::ccc:c::;;;,,,,;;:;;,'''''''.,dxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkxxxxxxxxxxxddddddddddddddddo:,,,,,'''''''',,,,,,,,,;;;;:::::::::;,,,,,,,''............,xxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddodooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,''....'''',,,,,,,;;;;;;;;::;;,''.......',,,'.......cxxxxxxxxxxxxddddxxxxdddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,'.......'''''',,,,,,,,,;;;;,''.'',,,,,,,;;,,,,,'.'dxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,''............'''''''',,,''''',,,,,,''..........'lddddddxxxxxddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,,.....................''...''''''''''..........'cdddddddddxddddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,,...........................'''''',,,,''....'.'lddddddddddddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo;,,,,,,,'.........................''',,,,,,,,,,'''''',loodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,,,,''........................',,,,,'''''......'cooddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,,''.........................''''...........,oooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooodo;,,,,,,,,,,,'''.....................................,loooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooo;,,,,,,,,,,,,,'...................         .......';cooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooool;,,,,,,,,,,,,,,''.....''..........          ..;:clooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddoooolc:;,,,,,,,,,,,,,,,,,,''................    .....':ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddxxxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddoooc;;,...,,,,,,,,,,,,,,,,,,,,''........................',clooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddoc,...........',;;;;,,,,,,,,,,,,,,,,'''.................''''''''';:cloooooooooodddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdol:,'................,;;;;,,,;,,,,;;;;;,,,,''''...........'''''''''',,....:looooooooooodddddddddddddddddddddddddddooooooooooooooooooooooooo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdoc:;;........ ...............;;;;;;;;;;;;;;;;;;,,,,,''''...''''',,,,,,,,,,,,......,:loooooooodddddddddddddddddddddddddddooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxdddddoc'............. ................',;;;;;;;;;,,;;;;;;,,,,,,,'',,,,,,,,,,,,,,,,,,.........';clooooddddoddddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxxxxxxddollc;................. ...................,;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;,,,,,,,,,..............';clodddoooodddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddl;'.......................  ....................,;;;,,;;;;;;;;;;,,,,,,,,,;;;;;;,,,,,,,'...................';cooooodddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddoc::clodddoc:,.........................  .......................',,,,;;;::;;;;,,,,,,,;;;;:;;;,;;;;'.........................,:loddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddoc,......',,'..........................................................';;;:::;;;;;;;;;;:::::;;;;;,'...............................;:ldddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddol,........................................................................,;::::;;;;;;::::::::;;;,.....................................;loooodoooooooooooooooooooooooooooooooolo
ooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:;,'''',,,,'''''''''';coxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,''''',,,,,,,,,,,,,,,'''''''';:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooo
oodddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,'''''''',,,;;;;;;;;;;;,,,,,,,,,,,,,,,;cdkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
odddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,:oxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,:oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkOOOOOOOOOOOOOOOOOOko;''...''''''',,,,;;;;;;;;;;;::::::::::;;;;;;;;;;;;;;;cdkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo
dddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOkkkOOOOOOOOOOOOOOOOOOk:'.......'''',,,,,;;;;;;;;;;:::::::::::::::::::::;;;;;;;;lxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,.......'''',,,,,,;;;;;;;;;;:::::::::::::::::::::::::;;;;;;:dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'........'''',,,,,;;;;;;;;;;;:::::::::::cccc::::::::::::;;;;;;dkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;......''''''',,,,,;;;;;;;;;;;::::::::::::cccc::::;;;::::;;;;;;;dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd......'''''''',,,,;;;;;;;;;;;;::::::::::::::::::::::;;:::;;;;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc...'''''''''''',,,,;;;;;;;;;;;:::::::::::::cc::::::::::::::;;;;,;okkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;..''''''''''''',,,,,,;;;;;;;;;::::::::::cccccccc:::::::::::::;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'''''....'''''',,,,,,,,;;;;;;;;;:::::::::cc:ccccccccc:::::::::;;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdxddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''''....''''''',,,,,,,;;;;;;;;;::::::::;,'.'',,;::::::::::::::;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''.....'''''''',,,,,;;;;;;;;;::::::;'.......   ...',;;::;::::;;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;..'.......''''''',,;;;;;;;;;;;;;;;,'.......    ...    ...',;;;,,''..;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkOOOOx'.''........'''''''''........                .,,,'..    .. .'''...    ;dxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkd,,,,'........              ...........''.   .,,,,''........  .        .c:;';okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkOkkkkkkkkkkkkkkkkkkkkkkkc...',;;'...........''',,,,'''............   ...............       ....:kkd'...cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'',,''':cc::;'''',,;;;;:::::;;;,,'......    .       ...''... ..   ...;kkdl'..  .okkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;,,;;;;,,;:;;;,,',,,;;;;::::::::::;;,,,,,'.  ..........''..  ,c:.   ..',,,,.....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxo;;;:cclc:,',,;;,,',,,;;;;:::cccccccc::::;;;. .,,''''',,,..  ,cllc'  .coxkxd;''.lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddc;;:cc;'...;cc;,,,,,,;;;;::::ccccclllcccc::;. .;,,,;;;;'  .,clllcc;':xxxxxl:;:,kkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddl:;:c;,;:;;clc:;,,,,,,,;;;::::cccclllllllcc::,...,;;;'....;cclllllcccxxxxo,.',xkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddl;;c;:ll:,:c::;;,,,,,,,,;;::::cccccclllcccc::::;'......';:cclllllllclddo;..;xkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddl;;;::c:;,';;;,,,,,,,,,,;;::::::ccccccccclcccc::;;,'',;:clllllloolc:;:;;cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddoc;;,;:c:;,,,,,,,,,'',,,;;:::::::c::ccclllllllcc:;'';:::::;;,,;::::oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddl:;:::cc:;,,'',,,',,,,,;;:::::::::ccllllllllc::;'......   ..'',:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddc;::cc:;''''''',,,,,,;;;:::::ccccclllllllc:::::;,''''......':xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddddddo:,'''...''''',,,,,,,,;;;::ccccccccccccccc::c:::;,,,,''....,;xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddol,,''..''''',,,,,,,,,;;;;::::cccccccccc::::;;;,,;,;;;,'','',dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxddddddddddddddddo:,,,,''''''',,,,,,,,,,;;;:::::ccc:c::;;;,,,;;;:;;,'''''''.,dxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkxxxxxxxxxxddddddddddddddddoc,,,,,'''''''',,,,,,,,,;;;;:::::::::;,,,,,,,''............,xxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkxxxxxxxxxxxxxxxdddddddddddddddddoc,,,,,,''....'''',,,,,,,;;;;;;;;:::;,''.......',,,'.......:xxxxxxxxxxxxddddxxxxdddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,'.......'''''',,,,,,,,;;;;;,''.'',,,,,,;;;,,,,,'.'dxxxxxxxxxxxddddddddddddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,'.........'...'''''''',,,''''',,,,,,''.........''cxddddddxxxxxdddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,,'....................''....'''''''''..........'cdddddddddxxddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,,,............................''''',,,,'''...'.'cdddddddddddddddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxddddddddddddddddd:,,,,,,,,'........................''',,,,,,,,,,'''''',loodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo,,,,,,,,,''.......................'',,,,,'''''......'cooddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,,''.........................''''...........,oooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoddo;,,,,,,,,,,,,''.....................................,loooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddooooooo:,,,,,,,,,,,,,'..................           ......';coooooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,''.....''..........         ...;:clooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooc:;,,,,,,,,,,,,,,,,,,''................    ......:ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddoooc;;,...,,,;,,,,,,,,,,,,,,,,''........................',clooooooooooooddddddddddddddddddddddddddddddddddddddooodoooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddoc,............,;;;;,,,,,,,,,,,,,,,,'''.................''''''''';:clooooooooodddddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdol:,'................,;;;;,,,,,,,,;;;;;,,,,''''...........'''''''''',,....;loooooooooodddddddddddddddddddddddddddddoooooooooooooooooooooooo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdoc:;;........................,;;;;;;;;;;;;;;;;;,,,,,''''...''''',,,,,,,,,,,,......,:looooooooddddddddddddddddddddddddddddoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddoc'............. ................',;;;;;;;;;,,;;;;;;,,,,,,,',,,,,,,,,,,,,,,,,,,.........';clooooddddodddddddddddddddddddddoooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxxxxxdddollc;.................  ..................,;;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,..............';:lodddoooodddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddl;'.......................  ....................,;;;,,;;;;;;;;;;,,,,,,,,,;;;;;;,,,,,,,'...................';cooooodddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddoc:::codddoc:,.........................   .......................,,,,;;;::;;;;;,,,,,,;;;;:;;;,;;;;,.........................':loddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddoc,......',,'..........................................................',;;:::;;;;;;;;;;:::::;;;;;,'...............................,:ldddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddol,........................................................................,;;::::;;;;;::::::::;;;,.....................................;looodooooooooooooooooooooooooooooooooooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,''''',,,,,''''''''',:ldkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddddddoooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,''''',,,,,,,,,,,,,,,'''''''',:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooo
oodddddddddddddxxxxxxxxxxxxxxxkxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,''.''''',,,;;;;;;;;;;;;,,,,,,,,,,,,,,,coxkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
dddddddddddddxxdxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,;lxkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
dddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkOOOOkkkkkkkkkkkkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkOOOOOOOOOOOOOOOOOOko;''.''''''''',,,,;;;;;;;;;;;:::::::::;;;;;;;;;;;;;;;;:dkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
dddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOkkkOOOOOOOOOOOOOOOOOOk:'......''''',,,,,;;;;;;;;;::::::::::::::::::::::;;;;;;;;cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,........'''',,,,,;;;;;;;;;;:::::::::::::::::::::::::;;;;;;:dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,........''''',,,,;;;;;;;;;;;:::::::::ccccccc:::::::::::;;;;;;okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:......'''''''',,,,;;;;;;;;;;;::::::::::::cccc::::;;;;:::;;;;;;;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'......''''''',,,,;;;;;;;;;;;;::::::::::::::::::::::;;::;;;;;;;;:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl...'''''''''''',,,,;;;;;;;;;;;:::::c:::::::cc::::::::::::::;;;;;;lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:..''''''''''''',,,,,,,;;;;;;;;::::::::::cccccccc:::::::::::::;;;;:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,.'''....'''''',,,,,,,,;;;;;;;;;:::::::::c::ccccccccc::::::::::;;;;dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''''....''''''',,,,,,,;;;;;;;;:::::::::;,'..'',;::::::::::::::;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''.....'.'''''',,,,;;;;;;;;;;::::::,'.......    ...,;;;:;;::;;;;;;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:.''........'''''',,,;;;;;;;;;;;;;,,'.......    ...     ..',;;;,,''..,xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkOOOOk'.'''.......'''''''''.......                 .,,,'..    .. .'''...    'dxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkd,,,,,........              ...........''.   .,,,,''........           .cc;';lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkkkkkkkkkkkkkl...',;;,...........''',,,,'''............   ........ ...'...      ....;kkd,...:xkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'',,''';cc::;''',,,;;;;:::::;;;,,'.......   .       ...''... '.   ...,xkdl'... .lkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;,,;;:;;,;:;;;,,',,,;;;;:::::::::::;,,,,,''  ..........'''.  ,c:'   ..',,,;.....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxo;;;:cclc:,',,;;,,,,,,;;;;:::cccccccc::::;;;. .,,''''',,,..  'cllc,  .coxkxd;',.ckkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddc;;:cc;'...;cc:;,,,,,;;;;::::ccccclllcccc:::. .,,,,;:;;'. .,clllcc:';xxxxxo:;:,xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddo:;;c;,;:;;clc:;,,,,,,,;;;::::cccllllllllcc::,...,;;,'....;cclllllcc:xxxxd;.''dkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddl:;c;:ll:,:c::;;,,,,,,,,;;::::cccccclllcccc::::;,......';:cclllllllclddo;..;dkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddl;,;::c::,';;;;,,,,,,,,,;;::::::ccccccccllcccc::;;,'',;:clllllloolc:;::;cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddoc;;,;:c:;,,,,,,,,''',,,;;::::::::::ccclllllllcc:,'',::::;;,,,;;:::oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddo:;:::cc:;,,'',',',,,,,;;:::::::::ccllllllllc::;'......   ...'':oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddl;;::c:;''''''',,,,,,;;;:::cccccccllllllcc:::::;,''''......';xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddddddoc''''...''''',,,,,,,,;;;::ccccccccccccccc::c::;;,,,,''....',dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddoo,,''..''''',,,,,;,,,;;;;::::cccccccccc::::;;;,,;,;;;,,','',oxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooo
xxxxxxxxxxxxxxkkkkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddddddddddddddddo:,,,,''''''',,,,,,,,,,;;;;::::ccc:c::;;,,,,,;;:;,,'''''''.'dxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxxxkkkkxxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxddddddddddddddddoc,,,,,,''''''',,,,,,,,;;;;;;;:::::::;,,,,,''''............'dxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxxxxxxxxxxdddddddddddddddddol,,,,,,''....'''',,,,,,,;;;;;;;;::;;,''......'',,,,.......:xxxxxxxxxxxxxdddxxxxddddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,'.......'''''',,,,,,,,,;;;;,''.',,,,,,,,;;,,,,,'.'oxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,,'.........''.'''''''',,,''''',,,,,,''.........'.cxddxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,,,'.....................'....'''''''''...........cddddddddxxdddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddc,,,,,,,,'..........................'''''',,,,'''..''''cdddddddddxddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddd:,,,,,,,,'........................''',,,,,,,,,,,''''''looddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,,''........................',,,,,''''........:ooddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,,''..........................'''...........'oooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoddo;,,,,,,,,,,,,''.....................................'loooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooooo:,,,,,,,,,,,,,'...................          ......';cooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,''.....''..........         ...;:coooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooolc:;,,,,,,,,,,,,,,,,,,''...............     ......;ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddoooc;,,...,,,;;,,,,,,,,,,,,,,,''........................',clooooooooooooddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddoc,............,;;;;,,,,,,,,,,,,,,,,'''.................''''''''',;:looooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoc:,'................';;;;;,;;;,,,;;;;;,,,,''''...........'''''''''',,....;loooooooooooddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdoc;;;........ ...............,;;;;;;;;;;;;;;;;;,,,,,''''..'''''',,,,,,,,,,,,......';coooooooodddddddddddddddddddddddddddodddooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddoc'............. .................,;;;;;;;;;,,;;;;;;,,,,,,,',,,,,,,,,,,,,,,,,,,..........,:loooodddddddddddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxxdoolc:;................. ...................,;;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............,:lodddooooddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddl,'.......................  ....................';;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................,:loooodddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddoc:::coddolc;'.........................   .......................',,,;;;::;;;;;,,,,,;;;;;:;;;,;;;;,.........................';loddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddo:'.......''...........................................................',;;:::;;;;;;;;;;:::::;;;;;,'...............................,:lodddddddooooooooooooooooooooooooooooooooo
dddddddddddddddddddddddol'........................................................................,;:::::;;;;;::::::::;;;,.....................................,looooooooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlc;,'''',,,,,,'''''''''';coxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooooo
ooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;'''''',,,,,,,,,,,,,,,,''''''',;coxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooo
ooodddddddddddxxxxxxxxxxxxxxxxxxxkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc,'''''''',,;;;;;;;;;;;;;;;,,,,,,,,,,,,,:oxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
oddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;lxkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
odddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkOOOkkkkkkkkkkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkOOOOOOOOOOOOOOOOOko;'....''''''',,,,;;;;;;;;;;;:::::::::;;;;;;;;;;;;;;;;;oxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOkkkkkOOOOOOOOOOOOOOOOk:'......''''',,,,,;;;;;;;;;;:::::::::::::::::::::;;;;;;;;:dkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,.......''''',,,,,;;;;;;;;;;::::::::::::::::::::::::::;;;;;;okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,........''''',,,,,;;;;;;;;;;:::::::::ccccccc:::::::::::;;;;;;lkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:.....''''''''',,,,;;;;;;;;;;;::::::::c:::ccc:::::;;;;:::;;;;;;;okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.....'''''''',,,,,;;;;;;;;;;;::::::::::::::::::::::;;;::;;;;;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl...'''''''''''',,,,;;;;;;;;;;;:::::c:::::::ccc::::::::::::::;;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:...'''''.'''''',,,,,,,;;;;;;;:::::::::::ccccccccc::::::::::::;;;;;xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''....'''''',,,,,,,,;;;;;;;;;:::::::::::::cccccccc::::::::::;;;;okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOkOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'''''....'''''''',,,,,,;;;;;;;;:::::::::;,'..'',,;::::::::::::::;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''.....'''''''',,,,;;;;;;;;;;:::::;,'.......    ...',;;:;;:::;;;;;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'.''......''''''',,;;;;;;;;;;;;;,,,'.......   ....     ..',,;;,,''..'dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkOOOOk,.'''.......''''''''........          .      .,,,'...   .. ..''...    .odxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkx,,,,,'.......             ............'''.  .,,,,''........          ..cc:',cxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkl....,;:,...........''',,,,,'''............  ........ .......      ....;kkx;...;dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc'',,''';cc::;,''',,;;;;:::::;;;;,''......   .       ...''... '.   ...,xkdl,...  ckkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;,,;;::;,;;;;;;,',,,;;;;;::::::::::;;,;,,''  ..........'''.  'c:'   ..',;;;'....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd:;;:ccll:,',,;;,,,,,,;;;;:::ccccccccc::::;;' .,,''''',,,..  'cllc;...coxkxx:,,.:kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddc:;;cc;'...,cc:;,,,,,;;;;;:::ccccclllccccc::' .,,,,;;;;'. .,clllcc:';xxxxxo:;:'xkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddo:;;c;,;:;;clc:;;,,,,,,,;;::::cccclllllllcc::;...',;,'....;ccclllllc:dxxxd;.''dkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddo:;:;;ll:;:c::;;,,,,,,,,;;::::cccccccllccccc:::;,'.....';:cllllllllccddo:..,dkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo:,;::c::;';;;;,,,,,,,,,;;::::::ccccccccllllcc:::;,'',;:clllllloolc:;::;cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddc:;;;:cc;,,,,,,,,,'',,,;;:::::::c::ccclllllllcc:;'',::::;;,,,,;:::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddoc;:::cc:;,,'',',',,,,,;;:::::::::ccllllllllc::;,......    ..'':oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddl;;::c:;''''''',,,,,,,;;::::cccccclllllllcc::::;,''''......';xxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddoc''''...''''',,,,,,,,;;;:::ccccccccccccccc:c:::;,,,,''....',oxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddddo;,''..''''',,,,,,,,,;;;;::::cccccccccc::::;;;,;;;;;;,,',,',oxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxkkkkkkkkkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxdddddddddddddddo:,,,,''''''',,,,,,,,,,;;;;::::ccc:c::;;;,,,,;;:;;,''.''''.'oxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxkkkkkxxxxxxddddddddddddddddoc,,,,,,''''''',,,,,,,,,;;;;;;:::::::;,,,,,''''............'dxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxkxkkkxxxxxxxxddddddddddddddddol,,;;,,''....'''',,,,,,,;;;;;;;;::;;,''......',,,,,'......;xxxxxxxxxxxxddddxxxxxddddddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,'.......'''''',,,,,,,,,;;;;,''.',,,,,,,,;;,,,,,'..oxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'.........''.'''''''',,,''''',,,,,,''.........'.:ddddxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo,,,,,,,,'....................''....'''''''''...........cddddddddxxxdddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................'''''',,,,'''..''''cdddddddddxddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddd:,,,,,,,,'.......................'''',,,,,,,,,,,''''''cooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,,,'........................'',,,,''''........:oodddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
dxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,''..........................'''...........'loooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoodo;,,,,,,,,,,,,''.....................................,looooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooo:,,,,,,,,,,,,,'...................          ......';coooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,'''''''.'..........         ...;:cooooooooooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool::;,,,,,,,,,,,,,,,,,,,'................    .....';oooooooooooooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddollc;,,...,,,;;,,,,,,,,,,,,,,,'''......................''':looooooooooooddddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddlc,............,;;;;,,,,,,,,,,,,,,,,''''................''''''''',;:looooooodddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddlc;'.................';;;;;,;;;;,,;;;;;;,,,'''''..........'''''''''',,....,loooooooooooddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdl:;,,........................,;;;;;;;;;;;;;;;;;,,,,,''''...''''',,,,,,,,,,,,'.....';coooooooodddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxdddol:'............. .................,;;;;;;;;;;,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:looooddddddddddddddddddddddddddddoooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxxdolcc:,................. ...................,;;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;,,,,,,,,,...............,:codddooooddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddc,'....................... .....................';;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,,,;,'....................,:loooodddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddlc:;::lddolc;'.......................... ........................',,,;;;::;;;;;,,,,,,;;;;:;;;,;;;;,.........................';coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddo:'.......''...........................................................',;;::::;;;;;;;;;:::::;;;;;,'...............................,:loddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddool'........................................................................';:::::;;;;;::::::::;;;,.....................................,looodddooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,'''',,,,,''''''''''';:oxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;'''''',,,,,,,,,,,,,,,,,''''''';coxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
ooodddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc,'''''''',,;;;;;;;;;;;;;;;,,;;,,,,,,,,,:lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
oddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;cxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkkkkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkOOOOOOOOOOOOOOOOOOOko;'.''.''''''',,,,,;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddod
dddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'......''''',,,,,;;;;;;;;;;:::::::::::::::::::::;;;;;;;;:dkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoo
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;.......''''',,,,,;;;;;;;;;;::::::::::::::::::::::::::;;;;;;lkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,........''''',,,,;;;;;;;;;;;:::::::::ccccccc:::::::::::;;;;;;ckkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:......'''''''',,,,;;;;;;;;;;;::::::::::::cccc::::;;;::::;:;;;;;okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'.....'''''''',,,,,;;;;;;;;;;;::::::::::::::::::::::;;;:::;;;;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo...'''''''''''',,,,;;;;;;;;;;;:::::::::::::ccc::::::::::::::;;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'..'''''''''''',,,,,,,;;;;;;;;::::::::::ccccccccc::::::::::::;;;;;xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'''''...'''''',,,,,,,,;;;;;;;;;:::::::::c:::cccccccc::::::::::;;;;okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'''''....'''''''',,,,,,;;;;;;;;;::::::::;,'...'',;::::::::::::::;;;:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''''.....'''''''',,,,;;;;;;;;;;;:::::,'.......    ...',;;:;;:::;;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'.''.......'''''',,;;;;;;;;;;;;;,,,'.......   .....    ...,,;;,,,'..'okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkOOOk,.'''........'''''''........          .      .,,,,...   ..  .''...    .ldxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkk,,,;,'.......             ............'''.  .,,,,,'........          ..cl:',:xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkko'...,;:,..........'''',,,,,'''............  ........ ...'...      ....,kkx:...,okkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl'',,,'';cc::;,''',,;;;;::::::;;;,,'......   .       ...''... '.   ...,xxdl,...  :kkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;,,;;::;,;:;;;;,',,,;;;;;::::::c:::;;;;,,''  ..........'''.  'c:,   ..',,;;'....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd:;;:ccll:,',,;;,,',,,;;;;::::cccccccc::::;;' .,,''''',,,..  'cllc;. .coxkxx:,,';kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddl:;;cc;'...,cc:;,,,,,;;;;;:::ccccclllccccc::' .,,,,;;;;,. .'cclllc:,,xxxxxo:;:'xkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddo:;;c;,;::;clc:;;,,,,,,,;;::::cccclllllllccc:;...',,,'....,ccclllllc:dxxxd;.''dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddo:;::;ll:;:c::;;,,,,,,,,;;::::cccccclllccccc::::,'.....';:cclllllllccddo:..,dkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo:;;:::::;';;;,,,,,,,,,,;;;:::::cccccccclllccc:::;,'',;:clllllloolc:;::;cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddc:;;;;cc;,,,,,,,,,',,,,;;:::::::c::ccclllllllcc:;'',;::;;;,,,,;:::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddoc;:::ccc;,,'',',',,,,,;;:::::::::ccllllllllc::;,......    ..'';lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo;;::c:;''''''',,,,,,,;;:::ccccccccllllllcc:::::,,'''......';dxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddoc,'''...''''',,,,,,,,;;;:::cccccccccccccc::c:::;,,,,,'....',oxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddddddoo;,''...'''',,,,,;,,,,;;;::::cccccccccc::::;;;,;;;;;;,,',,''lxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxkkkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxdddddddddddddddoc,,,,'''''''',,,,,,,,,,;;;::::ccc:c::;;;,,,,;;:;;,'.'''''.'oxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxkkxkkxxxxxxxxxxkxkxxxxkkkkkkkkkkkkkkkkkxxkxxxxxxxxddddddddddddddddol,,,,,,'''''''',,,,,,,,;;;;;;:::::::;,,,,,'''..............dxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddddl,,,;,,''....'''',,,,,,,,;;;;;;;:::;,''......',,,,,'......;xxxxxxxxxxxxxdddxxxxxxddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,'.......'''''',',,,,,,,;;;;,''.',,,,,,,,,;,,,,,'..lxxxxxxxxxxxddddddddddddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'.........'..'''''''',,,''''',,,,,,''.........'.:dddxdddxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'....................''....''''''''''..........:ddddddddxxddddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................'''''',,,,,''..''''cddddddddddddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddc,,,,,,,,'.......................'''',,,,,,,,,,,''''''cooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'........................'',,,,''''........;odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl,,,,,,,,,,''..........................'''...........'looodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooddo;,,,,,,,,,,,,''.....................................'loooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooo:,,,,,,,,,,,,,'...................           .....';cooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,'''''...'..........         ...;:loooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:;;,,,,,,,,,,,,,,,,,,,'................    ......;ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddlllc;,,...,,,;;,,,,,,,,,,,,,,,'''......................''':coooooooooooodddddddddddddddddddddddddddddddddddddddooooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:,............,;;;;,,,,,,,,,,;,,,,,,'''................''''''''',;:cooooooodddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddlc;'.................';;;;;,;;;;;,;;;;;;,,,,''''..........'',,'''''',,....,coooooooooooddddddddddddddddddddddddddddodddoooooooooooooooooooo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdl:,,,........................,;;;;;;;;;;;;;;;;;,,,,,,'''...''''',,,,,,,,,,,,'.....';cooooooooddddddddddddddddddddddddddddodddoooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddol:'............. .................,;;;;;;;;;;,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:loooodddddddddddddddddddddddddodooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxxxxxddolc::,.................  ..................,;;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............,:codddooooddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddc,........................  ....................';;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;,;,'....................,:loooodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddol:;;;:lodol:;'.........................  ........................',,,;;;::;;;;;,,,,,,;;;::;;;;;;;;,..........................;coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddo:'.......''...........................................................',;;::::;;;;;;;;;:::::;;;;;,'...............................,:loddddddoodooooooooooooooooooooooooooooooo
dddddddddddddddddddddddol'........................................................................';;::::;;;;;::::::::;;;,.....................................,cooodooooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc:,''''',,,,,''''''''''',:ldkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooo
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,'''''',,,,,,,,,,,,,,,,,''''''';:lxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo
ooddddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,'''''''',,;;;;;;;;;;;;;;;;;;;,,,,,,,,,;lxkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
oddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,:dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
odddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkOOOOOOOOOOOOOOOOOOOOkd;'....''''''',,,,;;;;;;;;;;:::::::::::;::;;;;;;;;;;;;;lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'......''''',,,,,;;;;;;;;;::::::::::::::::::::::;;;;;;;;;okkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........'''',,,,,;;;;;;;;;;::::::::::::::::::::::::::;;;;;;lxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddxxxxxxxxxkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,........''''',,,,,;;;;;;;;;;:::::::::cccccccc:::::;:::::;;;;;cxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc......'''''''',,,,;;;;;;;;;;;:::::::::::ccccc:::::;;;::::;;;;;;lkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'.....'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::;::::;;;;;;;dkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxdxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd....''''''''''',,,,;;;;;;;;;;;:::::::::::::ccc::::::::::::::;;;;,:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''.''''.''''''',,,,,,,;;;;;;;;::::::::::ccccccccc::::::::::::;;;;;dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''....'''''',,,,,,,,;;;;;;;;;:::::::::cc::cccccccc::::::::::;;;;lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'''''....'''''''',,,,,,;;;;;;;;;::::::::;,'...'',;::::::::::::::;;;:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''''.....'''''',',,,,;;;;;;;;;;::::::,'.......    ...',;;:;;:::;;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdxdddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'.''.......'''''',,;;;;;;;;;;;;;,,,'.......   .....    ...,,;;,,''...lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkOOkkOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkOOO;''''........''''...........          .      .,,,,...   ..  .''...    .lodkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkk;,,;,'.......             ............'''.  .,,,,,'........          ..cl:'':dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkko'...';:;..........'''',,,,,''''...........  ........ ...'...      ....,kkxc...'okkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',,,'',cc::;,''',,;;;;;:::::;;;,,'......   .       ...''... '.   ...'dxdl;...  ;kkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;,,;;::;,;;;;;;,,,,,;;;;;::::::c:::;;;;,,,'. ..........'''.  'c:,   ...,,;;,....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxd:;;;ccll:,.,;;;,,',,,;;;;::::cccccccc::::;;' .,,,'''',,,..  .cllc:. .:oxkkxc,,';kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddl:;;cc;'...,cc:;,,,,,;;;;::::ccccclllllccc::' .,,,,;::;,. .'cclllc:,,xxxxxd:;:'dkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddd:;;c;,;::;:lcc;;,,,,,,,;;::::cccclllllllccc:;'..',,,'....,ccclllllc:dxxxd:.''okkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;::;llc;:c::;;,,,,,,,,;;::::cccccccllccccc::::,'.....',:cllllllllccddd:..,dkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo:;;:::::;',;;;,,,,,,,,,;;::::::ccccccccllllccc::;,,'';:clllllloolc:;:::cdkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;cc:;,,,,,,,'',,,,;;:::::::c::ccclllllllcc:;'',;::;;,,,,,;:::cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc;:::ccc:,,'''',',,,,,;;:::::::::ccllllllllc::;,'.....    ..'';lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo;;::c:;''''''',,,,,,,;;:::ccccccclllllllcc:::::;,,'''.....',dxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,'''...''''',,,,,,,,;;;:::cccccclclclcccc:c:::;;,,,,'....',oxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddddo;,''..''''',,,,,,,,,;;;;::::cccccccccc::::;;;;;;;;;;,,',,''lxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxkkkkkkkkkxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxdddddddddddddddoc,,,,''''''',,,,,,,,,,;;;;::::ccccc::;;;,,,,;;:;;,'''''''.'lxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxkxkkkkxxxxxxxxxxkxxxxkkkkkkkkkkkkkkxkkkkkxxkxxxxxddddddddddddddddol,,,,,,'''''''',,,,,,,,;;;;;;:::::::;,,,,,'''..............oxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxkxxxxxxxxxkkxxxxxxdddddddddddddddddo,,,;,,''....''''',,,,,,,;;;;;;;::;;,''......',,,;,'......,xxxxxxxxxxxxddddxxxxxdddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxxxxxdddddddddddddddddo;,,,,,,'.......'''''',,,,,,,,,;;;;,'''',,,,,,,,,;,,,,,'..lxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'.........''.'''''''',,,''''',,,,,,''.........'.:dddddddxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'....................''....''''''''''..........:ddddddddxxxdddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................'''''',,,,,'''.'''.:dddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddc,,,,,,,,'........................''',,,,,,,,,,,''''''cdddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'........................'',,,,''''........;odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,,'..........................''''..........'looodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddodddd:,,,,,,,,,,,,'''....................................'cooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo:,,,,,,,,,,,,,'...................          ......';cooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,'''''''.'..........         ...;:loooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:;;,,,,,,,,,,,,,,,,,,,'................    .....';ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddolllc,,'...,,;;;,,,,,,,,,,,,,,,'''......................''':coooooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:,............,;;;;;,,,,,,,,;,,,,,,,'''................''''''''',;:coooooooooddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdlc;'.................';;;;;,;;;;;;;;;;;;,,,,''''..........'',,'''''',,....,cooooooooooodddddddddddddddddddddddddddddddddooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdl:,,,........................';;;;;;;;;;;;;;;;;,,,,,,''''.'''''',,,,,,,,,,,,'.....';coooooooodddddddddddddddddddddddddddddoddoooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddol:'.............  ................';;;;;;;;;;,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........,;coooodddddddddddddddddddddddddodooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxxxxxxddllc:;,.................  ..................';;;;;;;;;;;;;;;;;;,,,,,,,,,;;;;;,,,,,,,,,...............,;coddddooodddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddc,........................  ....................',;;,,;;;;;;;;;;;,,,,,,,,;;;;;;,,,;;;,'....................,:loooodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddol:;;;:codoc:,'.......................... ........................',,,;;;:::;;;;,,,,,;;;;::;;;;;;;;,..........................;codddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddl:'....................................................................',;;::::;;;;;;;;;::::::;;;;,'...............................,;coddddddodddoooooooooooooooooooooooooooooo
dddddddddddddddddooodddol'........................................................................';;::::;;;;;::::::::;;;,.....................................,cooooooooooooooooooooooooooooooooooooooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,''''',,,,,,''''''''''';cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
ooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',,,,,,,,,,,,,,,,,,,'''''',:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoooo
ooddddddddddddxdxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,'''''''',,;;;;;;;;;;;;;;;;;;;;,,,,,,,,;ldkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoo
oddddddddddddddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:dkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
odddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkOOOOOOOOOkkkkOOOkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddod
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkOOOOOOOOOOOOOOOOOOOOOkd;'....'.''''',,,,,;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;cxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'......''''',,,,,;;;;;;;;;::::::::::::::::::::::;;;;;;;;;okkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........'''',,,,,;;;;;;;;;;::::::::::::::::::::::::::;;;;;;cxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;.........'''',,,,,;;;;;;;;;;:::::::::cccccc:::::::::::::;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc......'''''''',,,,;;;;;;;;;;;;:::::::::::cccc:::::;;;::::;;;;;;ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,......''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::;;:::;;;;;;;okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd......''''''''',,,,;;;;;;;;;;;:::::c:::::::ccc::::::::::::::;;;;,:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'..'.....'''''',,,,,,,;;;;;;;;::::::::::ccccccccc::::::::::::;;;;;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''....'''''',,,,,,,,,;;;;;;;;::::::::cc:::ccccccccc:::::::::;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''....''''''',,,,,,,;;;;;;;;;::::::::;,'...'',;::::::::::::::;;;;kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkOOkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''''.....'''''',',,,,;;;;;;;;;;:::::;,'.......     ..',;;:;;:::;;;;;lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddxddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'.''.......'''''',,;;;;;;;;;;;;;,,''.......   .....     ..,,;;,,''...lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkOkOOkkkkkkOkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkOOOO;''''........''''...........          .      .,,,,...   ... .''...    .codkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkk;,,;,'.... .              ............'''.  .,,,,,'........         ...:lc'';dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkd'...';:;'.........''',,,,,,,'''...........  ........ ...'...      ....'xkxc...'lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',,,'.,cc::;,''',,;;;;;:::::;;;,,'......   .       ...''... '.   ...'dxdl;...  ,kkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,,;;::;;;;;;;;,'',,;;;;;::::::c:::;;;;;,,'. ..........'''.  .c:;.   ..,,;;,....:xkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd:;;;ccll:,.,,;;,,',,,;;;;::::cccccccc::::;;,  ,,,'''',,,..  .cllc:. .:oxkkxc,,',kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddl:;;cc;'...,cc:;,,,,,;;;;;:::ccccclllllccc::, .,,,,;::;,. .':cllccc,'dxxxxd:;:'dkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddd:;;c;,;::;:lcc;;,,,,,,,;;::::cccclllllllccc:;'..',,,'....,:cclllllc:oxxxd:.''okkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;::;llc;:c::;;,,,,,,,,;;::::cccccccllccccccc::;'.....',:cclllllllccoddc..,dkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddd:;;;::::;',;;;,,,,,,,,,;;;:::::ccccccccllllccc::;;,'';:clllllllolc:;:::cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;:c:;,,,,,,,,'',,,;;::::::::::ccclllllllcc:;,',;::;;,,,,,;;::cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc::::ccc:,,'''',',,,,,;;:::::::::ccclllllllc::;,'......   ...';lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo;;;:c:;''''''',,,,,,,;;:::ccccccclllllllcc:::::;,,,''.....',dxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,''....''''',,,,,,,,;;;:::cccccclcccccccc:c:::;;,,,,'....',lxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddo:,,''..''''',,,,,,,,;;;;::::cccccccccc::::;;;;;;;;;;,,',,''lxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxkkkkkkkkkkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddddoc,,,,,''''''',,,,,,,,,;;;;::::ccc:c::;;;,,,,;;:;,,'..''''.'lxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxkkxxkkxxxxxxxxxkxxxxxkkkkkkkkkkkkkkxxxkkkxxkxxxxxdddddddddddddddddl;,,,,,'''''''',,,,,,,,;;;;;;:::::::;,,,,,'''..............oxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxkkkxxxxxxxkxxxxxxxdddddddddddddddddo;,,,,,''....''''',,,,,,,;;;;;;;:::;,''......',,,;,'......,xxxxxxxxxxxxddddxxxxxddddddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,'.......'''''',,,,,,,,,;;;;,'''',,,,,,,,,;,,,,,,..lxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'.........''.''''''''',,''''',,,,,,''.........'.:dddddddxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'.....................'....''''''''''..........:ddddddddxxxdddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................''''',,,,,,''..'''.:dddddddddddddddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'........................''',,,,,,,,,,,''''''coddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'........................'',,,,''''........;odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,,'...........................''...........'looddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooodd;,,,,,,,,,,,,'''....................................'cooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddodooooo:,,,,,,,,,,,,,'....................         ......';cooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,'''''''.''..........        ...;clooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:;;,,,,,,,,,,,,,,,,,,,'.................   ......,ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddolcl:,''...,,;;;;,,,,,,,,,,,,,,,''......................''':cloooooooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:'............,;;;;;,,,,,,,,,;,,,,,,'''................'''''''''';;coooooooooddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl:;'..................;;;;;,;;;;,,;;;;;;,,,'''''..........'',,'''''',,....'cooooooooooodddddddddddddddddddddddddddddddddooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdc:,''........................';;;;;;;;;;;;;;;;;;,,,,,''''.'''''',,,,,,,,,,,,'.....',:loooooooddddddddddddddddddddddddddddodddoooooooooooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddoc;'............. .................';;;;;;;;;;,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';cooooddddddddddddddddddddddddddoooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxxxxxxdolc::;,.................  ..................';;;;;;;;;;;;;;;;;;,,,,,,,,,;;;;;,,,,,,,,,...............';coddddooodddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddc'........................ .....................',;;;;;;;;;;;;;;;,,,,,,,,;;;;;;,,,;;;,'....................';loooodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddoc:;,;;coolc:,........................... ........................',,,;;;:::;;;;,,,,,;;;;::;;;;;;;;,..........................,coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddl;'.....................................................................,;;::::;;;;;;;;;::::::;;;;,'...............................,;coddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddodoodol..........................................................................,;::::;;;;;::::::::;;;,.....................................'cooooooddooooooooooooooooooooooooooooooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,''''',,,,,,,'''''''''';cdkkkkkkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooo
ooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',,,,,,,,,,,,,,,,,,,'''''',:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
ooddddddddddddxdxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,'''''''',,;;;;;;;;;;;;;;;;;;;;;,,,,,,,;cdkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
odddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:dkkkkkkkxxkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkko:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:dkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkkkOOOOOOOOOOOOOOOOOOOOOd;'....'.''''',,,,,;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;cxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkc'......''''',,,,,;;;;;;;;;;::::::::::::::::::::::;;;;;;;;okkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........'''',,,,,;;;;;;;;;;:::::::::::::::::::::::::::;;;;;cxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........''''',,,,,;;;;;;;;;;:::::::::cccccccc::::::::::;;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc......'''''''',,,,;;;;;;;;;;;::::::::::::cccc:::::;;;;:::;;;;;;ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,.....'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::;;:::;;;;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd...'''''''''''',,,,;;;;;;;;;;;:::::c:::::::ccc::::::::::::::;;;;;:kkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''.'''''''''''',,,,,,,;;;;;;;;:::::::::::ccccccccc:::::::::::;;;;;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:.'''....'''''',,,,,,,,;;;;;;;;;::::::::ccc::::cccccc::::::::::;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''.....''''''',,,,,,;;;;;;;;;::::::::;''....',;::::::::::::::;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''.....'''''',',,,,;;;;;;;;;;:::::;,'.......    ....,;;::;:::;;;;;lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.'........'''''',,;;;;;;;;;;;;,,,''.......   .....     ..,,;;,,''...ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkOOOO;''''........''''...........          .      .,;,,'..   ... .''...    .codkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkk;,,;,'.... .             .............'''.  .',,,,'........         ...:oc'';okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkkkkkkkkkkkkkkkkkd'...';:;'.........'',,,,,,,,'''...........  ........ ...'...      ....'xkxl...'lkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',,,'',cc::;,''',,;;;;:::::::;;;,'......   .       ...''... '.   ...'dxdl;...  ,kkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,,;;::;;;;;;;;,,',,;;;;;:::::ccc::;;;;;,,'. ..........'''.  'cc;.   ..,;;:,....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxd:;;;clll:,.,,;;,,,,,,;;;;::::cccccccc::::;;,  ,,,'''',,,..  .cllc:. .:oxkkxc,,';kkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddl:;;cc;'...,cc:;,,,,,;;;;;:::cccccllllllcc::, .,;,,;::;,. .':clllcc,'dxxxxd:;:'dkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddc;;c;,;::;:lcc;;,,,,,,,;;;:::cccclllllllccc:;'...,,,'....,:cclllllc:oxxxd:.''okkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;::;clc;::::;;,,,,,,,,;;::::cccccccclccccccc::;'.....',:cclllllllccoddc..,dkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddc;;;::::;',;;;,,,,,,,,,;;:::::::cccccccllllccc::;;,'';:clllllllolcc;:::cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;:c:;,,,,,,,,'',,,;;:::::::c::ccclllllllcc:;,',;::;;,,'',;;::cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc::::ccc:,,'''','',,,,;;:::::::::ccllllllllc::;,'......   ..'';lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo;;;:c:;''''''',,,,,,,;;:::ccccccccllllllcc:::::;,,,''.....',dxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,''....''''',,,,,,,,;;;:::cccccclclclcccc:c:::;;,,,,'....',lxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxdddddddddddddddo:,,''.''''',,,,,;,,,,;;;::::cccccccccc::::;;;,;;;;;;,,',,''lxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxkkkkkkkkxkxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxxdddddddddddddddoc,,,,,''''''',,,,,,,,,;;;;::::ccccc::;;;,,,,;;:;;,'..''''.'lxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxxxxkkkkkkxxxxxxxxxkxxxxxxxkkkkkkkkkkkkkkkkkxxxkxxxxxdddddddddddddddddl;,,,,,'''''''',,,,,,,;;;;;;;:::::::;,,,,,'''..............oxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxkxxxxxdddddddddddddddddo;,;;,,''....''''',,,,,,,;;;;;;;:::;,''......',,;;,'......,xxxxxxxxxxxxxdddxxxxxxdddddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,''......'''''',',,,,,,,;;;;,'''',,,,,,,,,,,,,,,,..lxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'..........'..'''''''',,''''',,,,,,''.........'.:dddxdddxxxxxddddddddddddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'.....................'....''''''''''..........:ddddddddxxxdddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................''''',,,,,,'''..''':dddddddddddddddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'........................''',,,,,,,,,,'''''''cddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'........................'',,,,''''........;ooddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,,''..........................'''..........'looodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd;,,,,,,,,,,,,'''....................................'coooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooo:,,,,,,,,,,,,,'....................         ......';coooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,'''''''.''.........         ...:clooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:;;,,,,,,,,,,,,,,,,,,,''................   ......,ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddolcc:,''...,,,;;;,,,,,,,,,,,,,,,''......................''':cloooooooooodddddddddddddddddddddddddddddddddddddddooodoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:'............';;;;;,,,,,,,,,,,,,,,,'''................'''''''''',;coooooodddddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoc:;'..................,;;;;,;;;;;,;;;;;;,,,,''''..........'',,'''''',,....'coooooooooooddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdc;,''........................';;;;;;;;;;;;;;;;;;,,,,,''''.'''''',,,,,,,,,,,,'......,:looooooodddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddlc;..............  ................';;;;;;;;;;,;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,..........';cooooddddddddddddddddddddddddddoooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddxxxdxddxdolc:;;,.................  ..................';;;;;;;;;;;;;;;;;;,,,,,,,,,;;;;;,,,,,,,,,...............,;codddoooodddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddc'........................ .....................',;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................';looooddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddoc;,,,;coolc;,........................... ........................',,,;;;:::;;;,,,,,,;;;;::;;;;;;;;,..........................,coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddl;'.....................................................................,;;::::;;;;;;;;;:::::;;;;;,'...............................';coddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddodooooc..........................................................................,;::::;;;;:::::::::;;;'.....................................'coooddddoooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc:,''''',,,,,,'''''''''',;cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxdddddddddddddddddddddoooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',,,,,,,,,,,,,,,,,,,'''''',:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ooodddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc,'''''''',,,;;;;;;;;;;;;;;;;;,,,,,,,,,,;cdkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
dddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:dkkkkkxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkd:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:dkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkOOOOOOOOOOOOOOOOOOOOd;'......''''',,,,,;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;cxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkc'.......'''',,,,,;;;;;;;;;;::::::::::::::::::::::;;;;;;;;okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
dddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........'''',,,,,;;;;;;;;;;;:::::::::::::::::::::::::;;;;;;cxkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;.........'''',,,,,;;;;;;;;;;::::::::::cccccccc::::::::::;;;;;:xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl......'''''''',,,,,;;;;;;;;;;;:::::::::::cccc:::::;;;;::::;;;;;ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,.....'''''''',,,,,;;;;;;;;;;;:::::::::::::::::::::::;;::::;;;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx...'.'''''''''',,,,,;;;;;;;;;;:::::cc::::::ccc::::::::::::::;;;;,:kkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'..'.''..'''''',,,,,,,;;;;;;;;::::::::::ccccccccccc::::::::::;;;;;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:.'''....''''''',,,,,,,;;;;;;;;;::::::::ccc::::cccccc::::::::::;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''....'''''''',,,,,,;;;;;;;;;::::::::;''...'',;::::::::::::::;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''.....'''''',',,,,;;;;;;;;;;;::::;,'.......     ...,;;;;;:::;;;;,lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.''.......'''''',,;;;;;;;;;;;,,,,''.......   .....     ..,,;;,,'....ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkOOO;'.''........''''...........          .      .,,,,'..   ..  .''...    .codkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkk;,,;,'....               .............'''.  .'',,,'........         ...:lc'';okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkkkkkkkkkkkkkkkkkd'...';:;'.........'',,,,,,,,'''...........  ........ ...'...      ....'xkxl....lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',,,'',:c::;,''',,,;;;::::::;;;,,'......   .       ...''... '.   ...'dxdl;...  ,kkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,,;;::;;;;;;;;,,',,,;;;;:::::ccc::;;;;;,,'. ..........'''.  'cc;.   ..,,;:,....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxd:;;;cclc:,.,,;;,,',,,;;;;::::cccccccc::::;;,  ,,,'''',,,..  .cllc:...:oxkkxc,,',kkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddl:;;cc;'...,cc:;,,,,,;;;;;:::cccccllllllcc::, .,;,,;::;,. .':clllcc,'dxxxxd:;:'dkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddc;;c:,;::;:lcc;;,,,,,,,;;;:::cccclllllllccc:;'..',,,'....,:cclllllc:oxxxd:.''okkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;::;clc;::::;;,,,,,,,,;;::::cccccccllccccccc::;'.....',:cclllllllccoddc..,dkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddc;;;::::;',;;;,,,,,,,,,;;;::::::cccccccllllccc::;;,'';:clllllllolc:::::cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;:c:;,,,,,,,,'',,,;;::::::::::ccclllllllcc:;,',;::;;,,'',;;::cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddddc::::ccc:,,'''',',,,,,;;:::::::::ccllllllllc::;,'......   ..'';lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo;;;:c:;''''''',,,,,,,;;:::ccccccclllllllcc:::::;,,,''.....',dxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,''....''''',,,,,,,,;;;:::cccccclcccccccccc:::;;,,,,'....',lxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddo:,,''.'''''',,,,;,,,,;;;::::cccccccccc::::;;;;;;;;;;,,,,,''lxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxkkkkkkkkkxkxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkxxxxxdddddddddddddddoc,,,,,''''''',,,,,,,,,;;;;::::ccccc::;;;,,,,;;:;;,'..''''.'lxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxkxkkxxxxxxxxxxxxkxxxxxxxkkkkkkkkkkkkkkkkxkkkxxxxxxddddddddddddddddoo;,,,,,'''''''',,,,,,,,;;;;;;:::::::;,,,,''''..............oxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxkxxkxxxxxxxxxxxxxxxdddddddddddddddddo;,,;,,''....''''',,,,,,,;;;;;;;:::;,''......',,;;,'......,xxxxxxxxxxxxxdddxxxxxddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,''.......'''''',,,,,,,,;;;;,'''',,,,,,,,,,,,,,,,..lxxxxxxxxxxxxdddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'.............'''''''',,''''',,,,,,''...........;dddddddxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'.....................'....''''''''''..........:ddddddddxxxdddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................''''',,,,,,'''.'''.:dddddddddddddddddddddddddddddddddddddddddddddooodoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'........................''',,,,,,,,,,'''''''cdddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'........................'',,,,''''........;odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,,'............................''..........'looodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooddd;,,,,,,,,,,,,'''....................................'cooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddoooooo:,,,,,,,,,,,,,'...................           .....,;looooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooool;,,,,,,,,,,,,,,''''.'..'..........         ...:clooooooooooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:;;,,,,,,,,,,,,,,,,,,,''.'...............  ......,ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddolcc:,''...',,;;;,,,,,,,,,,,,,,,''......................''':clooooooooooddddddddddddddddddddddddddddddddddddddddodooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:'............';;;;;,,,,,,,,,;,,,,,,'''................'''''''''';;coooooooddddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc:,...................,;;;;,,;;;,,;;;;;;,,,,''''..........'',,'''''',,'...'coooooooooooddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdc;,''........................';;;;;;;;;;;;;;;;;;,,,,,''''.'''''',,,,,,,,,,,,'......,:looooooodddddddddddddddddddddddddddoodoooooooooooooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddlc;..............  ................';;;;;;;;;;,;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,..........';coooodddddddddddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddxxddxxxxdolc:;;,.................  ..................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............,;codddooooddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddc'........................  .....................,;;;,;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................';loooodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddoc;,,,;coolc;,........................... ........................',,,;;;:::;;;;,,,,,;;;;;:;;;;;;;;,..........................,coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddddddl;......................................................................,;;::::;;;;;;;;;:::::;;;;;,'...............................,;coddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddodooooc..........................................................................,;::::;;;::::::::::;;;'.....................................'cooooodooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc:,''''',,,,,,''''''''''';cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxdddddddddddddddddddooooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',,,,,,,,,,,,,,,,,,,'''''',:ldkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
oodddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc,''.''''',,;;;;;;;;;;;;;;;;;;;;,,,,,,,,;ldkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
odddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,:dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkOkkkkd:'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkOOOOOOOOOOOOOOOOOOOOd;'.....'''''',,,,,,;;;;;;;;;::::::::::::::;;;;;;;;;;;;lxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkc'......''''',,,,,;;;;;;;;;;::::::::::::::::::::::;;;;;;;;okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
dddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........'''',,,,,;;;;;;;;;;::::::::::::::::::::::::::;;;;;;cxkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........''''',,,,,;;;;;;;;;;:::::::::ccccccc:::::;;:::::;;;;;:xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl.....''''''''',,,,;;;;;;;;;;;;:::::::::::cccc:::::;;;:::::;;;;;lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,.....'''''''',,,,,;;;;;;;;;;;:::::::::::::cc::::::::;;::::;;;;;;okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx...'''''''''''',,,,,;;;;;;;;;;:::::cc::::::ccc::::::::::::::;;;;,:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'..'.'''''''''',,,,,,,;;;;;;;;::::::::::ccccccccccc::::::::::;;;;;dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc.'''....''''''',,,,,,,;;;;;;;;;::::::::cc:::::cccccc::::::::::;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''....'''''''',,,,,,;;;;;;;;;::::::::,'....'',;::::::::::::::;;;:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''.....'''''',',,,,;;;;;;;;;;:::::;,'.......     ...,;;:;;:::;;;;,lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.''.......'''''',,;;;;;;;;;;;,,,''........   .....     ..,,;;,,'....lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkOkOOkkkkkkkkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkOOOO;'.''........'''............          .      .,,,,...   ..  .''...    .codkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkk;,,;,'.... .            ..............'''.  .'',,''........         ...coc'';okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkkkkkkkkkkkkkkkkko'...';:;'.........'',,,,,,,,'''..........   .......  ...'...      ....,kkxc....lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',,,'',:c::;,''',,;;;;:::::::;;,,'......   .       ...''... '.   ...'dxoc,...  ,kkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,,;;::;;;;;;;;,,',,;;;;::::::ccc::;;;;;,,'  ..........'''.  'cc,   ..',;::,....cxkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxd:;;;cllc:,.,;;;,,',,,;;;;::::cccccccc::::;;' .,,,''',,,,..  'cllc:...coxkkxc,,';kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddl:;;cc;'...,cc:;,,,,,;;;;;:::cccccllllllcc::' .,;,,;::;,. .,cllllcc,'dxxxxd:;:'dkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddd:;;c;,;::;:lcc;;,,,,,,,;;::::cccclllllllccc:;'..',,,'....;ccclllllc:oxxxd:.''okkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;::;clc;::::;;,,,,,,,,;;::::ccccccclllcccccc::;''....';:cclllllllccodd:..,dkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddc;;;::::;',;;;,,,,,,,,,;;:::::::cccccccllllccc::;;,',::clllllllolc:::::cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;:c:;,,,,,,,,'',,,;;:::::::c::ccclllllllcc:;'',;:;;,,,'',;:::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc::::ccc:,,'''',',,,,,;;:::::::::ccllllllllc::;,'......   ...':oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddo:;;:c:;''''''',,,,,,,;;:::ccccccclllllllcc:::::;,,,''.....',dxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,''....''''',,,,,,,,;;;::::ccccclclclcccccc:::;;,,,,'....',lxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddo:,,''.'''''',,,,,,,,;;;;::::cccccccccc::::;;;;;;;;;;,,',,''lxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddod
xxxxxxxxxxxxxxxxkkkkkkkxkkkkkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddddoc,,,,,''''''',,,,,,,,,;;;;::::ccccc::;;;,,,,;;:;,''..''''.'lxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxkkkxkkkxxxxxxxkxxxxxxkkkkkkkkkkkkkkkkkxxxxxxxxxxdddddddddddddddddo;,,,,,'''..''',,,,,,,,;;;;;::::::::;,,,,''''..............oxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxkxxxxxxxxxxxxxxxdddddddddddddddddo;,,;,,''....''''',,,,,,,;;;;;;;:::;,''......',,;;,''.....,xxxxxxxxxxxxxdddxxxxxxxdddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,'.......'''''',,,,,,,,,;;;;,'''',,,,,,,,,,,,,,,,..lxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'............''''''''',,''''',,,,,,''.........'':ddxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,;,,,'.....................'....''''''''''..........:ddddddddxxxddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................''''',,,,,,'''..'''cddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'........................''',,,,,,,,,,'''''''cdddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:,,,,,,,,,'........................'',,,,''''........;odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,,''..........................''...........'looodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoddd:,,,,,,,,,,,,''.....................................,loooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddoooooo:,,,,,,,,,,,,,'...................           .....,;loooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooool;,,,,,,,,,,,,,,'''''.'.'..........         ...:cloooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:;;,,,,,,,,,,,,,,,,,,,''...............    ......,ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddolcc:,''...',;;;;,,,,,,,,,,,,,,,''......................''':cloooooooooooddddddddddddddddddddddddddddddddddddddooddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc:'............';;;;;,,,,,,,,,;,,,,,,'''................'''''''''';;cooooooodddodddddddddddddddddddddddddddddddddooooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc:,...................,;;;;,;;;;;;;;;;;;,,,,''''..........'',,'''''',,'...'cooooooooooodddddddddddddddddddddddddddddoddoooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdc;,''........ ...............';;;;;;;;;;;;;;;;;;,,,,,''''.'''''',,,,,,,,,,,,'......,:looooooodddddddddddddddddddddddddddoodoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddlc;..............  ................';;;;;;;;;;,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';coooodddddddddddddddddddddddddodooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxdolc:;,'.................  ..................';;;;;;;;;;;;;;;;;;,,,,,,,,,;;;;;,,,,,,,,,...............,;coddooooodddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddd:'........................ .....................',;;;;;;;;;;;;;;;,,,,,,,,;;;;;;,,,;;;,'....................';looooddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddoc;,,,;:oolc;,........................... ........................',,,;;;:::;;;;,,,,,;;;;::;;;;;;;;,..........................;coddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddol;......................................................................,;;::::;;;;;;;;;:::::;;;;;,'...............................,;codddddddddooooooooooooooooooooooooooooooo
dddddddddddddddooddodoooc..........................................................................,;::::;;;::::::::::;;;'.....................................'cooooooooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,''''',,,,,,,'''''''''';cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxddddddddddddddddddddoooo
oooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',,,,,,,,,,,,,,,,,,,'''''',:ldkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ooddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,'''''''',,;;;;;;;;;;;;;;;;;;;,,,,,,,,,;lxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
oddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,:dkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
dddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOkkOOOOkkkko:'''''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;cdkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkOOOOOOOOOOOOOOOOOOOOOd;'......''''',,,,,;;;;;;;;;::::::::::::::::;;;;;;;;;;;lxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkc'......''''',,,,,;;;;;;;;;:::::::::::::::::::::::;;;;;;;;okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
ddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........'''',,,,,;;;;;;;;;;::::::::::::::::::::::::::;;;;;;lxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........''''',,,,,;;;;;;;;;;:::::::::cccccccc::::;;:::::;;;;;ckkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl.....''''''''',,,,;;;;;;;;;;;:::::::::::ccccc:::::;;;:::;;;;;;;lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,.....'''''''',,,,,;;;;;;;;;;;:::::::::::::cc::::::::;;::::;;;;;;dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx...'''''''''''',,,,;;;;;;;;;;;:::::c::::::cccc::::::::::::::;;;;,ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'..'....'.''''',,,,,,,,;;;;;;;::::::::::ccccccccccc::::::::::;;;;;dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc.'''....'''''',,,,,,,,;;;;;;;;;:::::::cc::::::cccccc::::::::::;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''....'''''''',,,,,,;;;;;;;;;:::::::;,'.....',;::::::::::::::;;;:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''.....'''''''',,,,;;;;;;;;;;:::::;,........    ....,;;;;;:::;;;,,okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.'........'''''',,;;;;;;;;;;,,,'''.......    .....     ..,,;;,,'....lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkOOO:..''........'''......... ..         ..      ';,,,...   ..  .''..     .cloxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkk;,,;,'....              ..............''.   .'',,'.........         ...loc'.;okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkkkkkkkkko'...';:;'.........'',,,;,,,,'''..........   .......  ...'...  .   ...';kkx:.. .lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',,,'.,cc::;,''',,;;;;:::::::;;,,'......   .       ...''....,.   ...,dxoc,...  ;kkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;,,;;::;;;;;;;;,',,,;;;;::::::ccc::;;;;;,''  '........'''.. .;c:,    .',;::,....lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxd:;;;cclc:,.,;;;,,',,,;;;;::::cccccccc::::;;. .,,,''',,,,.. .,lllc;...loxkkxc,,':kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddl:;;cc;....,cc:;,,,,,;;;;;:::cccccllllllcc::' .,;,;;:;;'  .;cllllc:,,xxxxxo:;:,xkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddd:;;c;,;::;clc:;;,,,,,,,;;::::cccclllllllccc:;'..'','.....;ccclllllc:dxxxd;.''dkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;::;clc;::::;;,,,,,,,,;;::::cccccccclccccccc::;''....';:cllllllllccodo:..;xkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddd:;;:::::,',;;,,,,,,,,,,;;:::::::cccccccllllccc::;,,',::clllllllllc:::::lxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;:c:;,,,,,,,,'',,,;;::::::::::ccclllllllcc:;'',;;;,,'''',;;::oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc::::ccc:,,'''',',,,,,;;;::::::::ccllllllllc::;,'......  ....,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddo;;;:::;''''''',,,,,,,;;:::ccccccclllllllc::::::;,,,''.....';dxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,''....''''',,,,,,,,;;;::::cccccccccccccc:c::;;,,,,,'....',oxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddddo:,,''.''''',,,,,,,,,;;;;:::::ccccccccc:::;;;;;;;;;;;,,,,,''lxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoodoo
xxxxxxxxxxxxxxxxxkkkkkkkkxxxkkxxkkxkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxddddddddddddddddoc,,,,'''''''',,,,,,,,,;;;;::::ccccc::;;,,,,;;;;;,'...'''..'oxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkxxkkxxxxxxxdddddddddddddddddo;,,,,,''...''',,,,,,,,;;;;;;::::::;;,,,,'''..............'dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxkxxxxxxxkxxxxxxxdddddddddddddddddo;,,,,,''.....'''',,,,,,,,;,;;;;::;;,''......',,;;,''.....;xxxxxxxxxxxxddddxxxxxddddddddddddddddddddddddodooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,'........''''',',,,,,,,;;;,,'''',,,,,,,,,,,,,,,'..oxxxdxxxxxxxxdddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'............''''''.'','''''',,,,,,''.........''cxdxxdddxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'..........................''''''''''.........'cddddddddxxxddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'..........................'''',,,,,,,''''''''cddddddddddddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'........................'',,,,,,,,,,,'''''''ldddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'........................'',,,'''''........:doddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,''...........................''...........'oooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoddd;,,,,,,,,,,,,''.....................................,looooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo:,,,,,,,,,,,,,'...................           .....,:loooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooool;,,,,,,,,,,,,,,''''....'..........         ...:cloooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:;;,,,,,,,,,,,,,,,,,,,'................    ......,oooooooooooooooddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddoccc:,''...',;;;;,,,,,,,,,,,,,,,''.....................'''':cloooooooooodddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc;'............';;;;;,,,,,,,,,,,,;,,,'''................'''''''''',;cooooooooddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc:,...................,;;;;,;;;;;;;;;;;;,,,''''''.........'',,'''''',,....'coooooooooooddddddddddddddddddddddddddddoodooooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdc;'''........ ...............';;;;;;;;;;;;;;;;;;,,,,,''''.''''',,,,,,,,,,,,,'......,:loooooooddddddddddddddddddddddddddodoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddlc;..............  ................';;;;;;;;;;,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';coooodddddodddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxdxddxdolc;;,'.................  ..................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............,;codddooooddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddo:'........................  .....................,;;,;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................':loooodddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddoc;,,,;:loc:;'..........................  ........................',,,;;;:::;;;;,,,,,;;;;::;;;,;;;;,..........................,coddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddol,......................................................................,;;::::;;;;;;;;;:::::;;;;;,'...............................,;codddddddooooooooooooooooooooooooooooooooo
ddddddddddddddoodoooooooc..........................................................................,;::::;;;::::::::::;;;'.....................................'codooooooooooooooooooooooooooooooooooool
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,'''',,,,,,,''''''''''';cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooooo
oooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',,,,,,,,,,,,,,,,,,''''''',:lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ooddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,'''''''',,;;;;;;;;;;;;;;;;;;;,,,,,,,,,;lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
odddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkxc'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkko;'''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;cxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkOOOOOOOOOOOOOOOOOOOko;''....'''''',,,,,;;;;;;;;::::::::::::::::;;;;;;;;;;;;lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'......''''',,,,,;;;;;;;;;;:::::::::::::::::::::;;;;;;;;:dkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
ddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;........''',,,,,;;;;;;;;;;;::::::::::cccc::::::::::::;;;;;;okkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,........''''',,,,,;;;;;;;;;;:::::::::ccccccc:::::;::::::;;;;;lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc.....''''''''',,,,,;;;;;;;;;;:::::::::::ccccc:::::;;::::;;;;;;;okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,.....'''''''',,,,,;;;;;;;;;;;:::::::::::::cc:::::::::::::;;;;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd...'''''''''''',,,,,;;;;;;;;;;:::::c:::::::ccc::::::::::::::;;;;;lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'..'''''''''''',,,,,,,;;;;;;;;::::::::::ccccccccccc::::::::::;;;;;xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc.'''....'''''',,,,,,,,;;;;;;;;;::::::::::::::ccccccc::::::::::;;;;okkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''....'''''''',,,,,,;;;;;;;;;:::::::,'......',;;::::::::::::;;;;ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''......'''''''',,,,;;;;;;;;;;::::;,'.......      ...,;;;;:::;;;;,,dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.'........'''''',,;;;;;;;;,,,,'''.... ..    .....     ..',,,,,'.....dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkOOO:.'''........'..........  .     .    ..     .,;,,'..   ... .''...     .ccoxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkx;,,;,'....             ...............''.  .''',''.........        ...'xdc..;dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl....';:;'........'',,,;;;,,,,''........    .......  ...'..   .    ...'lkkx;.. 'lxkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc,',,,'';cc::;,'',,,;;;;:::::::;;,,''.....  ..      ....''.. .,.  ....:doc:....  lkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxd;,,;;::;;;;;;;,,',,,;;;;;:::::ccc::;;;;;,'. .'........'''.  .cc:'   ..';:cc,....dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxo:;;;cclc;'.,;;;,,',,,;;;;:::ccccccccc::::;,. ,,,,''',,,'.  .clllc,..'odxkxx:;;.lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddl:;;cc,....;cc:,,,,,,,;;;::::ccccclllllccc:;. ';;;;::;,. .':cllllc:':xxxxxl:;;;kkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddd:;;c;,:c:;clc:;;,,,,,,,;;::::cccclllllllcc::,...'''.....,:ccllllllc:dxxxo,..;xkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;:::ll:;::::;;,,,,,,,,;;::::cccccccclccccccc::;'''..',:ccllllllllccloo,.'cxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo:;;;::c:,',;;,,,,,,,,,,;;:::::::cccccclllllccc::;,'';:clllllclllcc:cc:cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddl:;;;;:c:;,,,,,,''',,,,;;::::::::::ccllllllllc::,'',;;,'''.'',;;;:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc::::ccc;,''''''',,,,,;;:::::::::cclllllllcc::;,'......  ...';lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddo:;;::;,'''''',,,,,,,;;;:::cccccccllllllcc::::::;,,,'.....',:xxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,''....''''',,,,,,,;;;;::::cccccccccccccc::::;;,,,,''.''.,;dxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddo
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdddddddddddddddo:,,''.''''',,,,,,,,,,;;;:::::cccccccc:::;;;,;;;;;;;,,,,,'',dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxkkkkkkxkkkxxxxxkkxkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddddoc,,,,''''''',,,,,,,,,,;;;:::::ccc:c:;;;,,,,;;;;,'....'''..'dxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkxxkkxxxxxxxddddddddddddddddol;,,,,,'...'''',,,,,,,,;;;;;;::::::;,,,,'''...............;xxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,''.....''',,,,,,,,,;,;;;;::;,''......',,;;;,'''....cxxxxxxxxxxxxddddxxxxxddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,'.......'''''''',,,,,,,;;;,'''',,,,,,,,,,,,,,,''.,dxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'............'''''''''''''''',,,,,''...........'lxdxxxddxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,,'..........................''''''''''.........'odddddddddddddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,'.........................''',,,,,,,,,''''''',ldddddddddddddddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'.......................''',,,,,,,,,,''''''',odddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'........................'',,,''''........'cddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,''........................................;oooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooodo;,,,,,,,,,,,,''.....................................:ooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo:,,,,,,,,,,,,,'......'...........            ....';cooooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooooc;,,,,,,,,,,,,,,'''''...'..........        ...'clooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooc;,,,,,,,,,,,,,,,,,,,,,''................   ......,oooooooooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddlc:c:''....',,;;,,,,,,,,,,,,,,,'''.....................'''';clooooooooooddddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddlc;.............';;;;;,,,,,,,,,;,,,,,,'''...............''''''''''',;cooooooooodooddddddddddddddddddddddddddddddddooooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo:;,...................,;;;;,;;;;;;;;;;;;,,,,'''''.........'',,'''''',,....'coooooooooooddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxo:;'.......... ...............';;;;;;;;;;;;;;;;;,,,,,,,'''.''''',,,,,,,,,,,,,'......,:loooooooddddddddddddddddddddddddddddoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddc:,..............  ................';;;;;;;;;;';;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';coooodddddddddddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddxddlc:;,,'.................  ..................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............';codddoooodddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddo;.........................  .....................,;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................';looooddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddl:,''',:llc:,'........................... ........................',,,;;;:::;;;;,,,,,;;;;::;;;;;;;;'..........................,coddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddoc,......................................................................,;;::::;;;;;;;;;::::::;;;;,................................';codddddddddooooooooooooooooooooooooooooooo
dddddddddddddddooooooooo:..........................................................................,;:::::;:::::::::::;;,'.....................................'codooooooooooooooooooooooooooooooooooooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:;''''',,,,,,,,'''''''''';cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;,''''',,,,,,,,,,,,,,,,,,,'''''',:lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
oooddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:'''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;,,,,:oxkkkkkkxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
odddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkkkkkd:'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOkkkkkOkkkko;''''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkOOOOOOOOOOOOOOOOOOOko,'.....''''',,,,,;;;;;;;;;:::::::::::::::::::;;;;;;;;;oxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;'......'''',,,,,,;;;;;;;;;::::::::::::::::::::::;;;;;;;;:dkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,.......'''',,,,,,;;;;;;;;;;:::::::::::ccc::::::::::::;;;;;;dkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,........'''',,,,,,;;;;;;;;;;:::::::::ccccccc::::;;::::::;;;;;okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc.....'''''''',,,,,,;;;;;;;;;;:::::::::::ccc::::::;;;:::::;;;;;;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'.....'''''''',,,,,;;;;;;;;;;::::::::::::::c::::::::::::::;;;;;;:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd...''''''''''',,,,,;;;;;;;;;;::::::::::::cccc::::::::::::::;;;;,;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.''''..''''''',,,,,,,;;;;;;;::::::::::cccccccccccc::::::::::;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''....'.'''',,,,,,,,;;;;;;;;:::::::::::::::ccccccc::::::::::;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,'''.....''''''',,,,,,;;;;;;;;;:::::::,'.......',;;::::::::::::;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''.....''''''',,,,;;;;;;;;;;::::;,'........      ..',;;;;;:;;;;,,;xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.'........'''''',;;;;;;;;,,''''.....       ......     ..',,,,''....'xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOO:.'''.................          .   ...    .,;;,,'..   ... .....      'cclxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkx;,,;,....            ...................  .''''''.........        ....:xdc..;dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkkkkkkkkkk:....,;:,'.......'',,,,;;;,,,'''.......    .......  ....'... ..   ...',xkkd'.. 'lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'',,''':c:::,''',,;;;;;::::::;;;,''''...  ..      ....''. ..,'   ...'col:,...  .xkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo;,,;:::;;;;;;;,,',,,;;;;;:::::cc:::;;;;,,' .'........'''.. .;cc:.   ..,:cll'...;kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxo:;;:cccc;.',;;,,',,,;;;;;:::ccccccccc::::;. .;,,,'',;;,.  .;lllc:...;dxkkxd:,;.xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddc;;:c:,...':cc;,,,,,,;;;;::::ccccllllllcc::'..,;;;::;;'  .;cclllcc;'lxxxxdc;;,lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddo:;:c,;:c;;lcc:;,,,,,,,;;;:::cccccclllllccc:;,....'.....':ccclllllc:cxxxdl...lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddo:;:;:ll:;:::;;,,,,,,,,,;;:::cccccccccccccccc::;;,''.',;:cllllooolcccllc..;dkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo:;;:::::'';;;,,,,,,,,,,;;:::::::cccccclllllcc:::;,',::clllccclllc:clccoxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddc:;;;::c:,,,,,,,''',,,,;;:::::::::ccclllllllcc:;'',;;,'....',,;;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc;:::ccc;,''''''',,,,;;;::::::::cclllllllcc:::;'......  ....':dxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo:;;::;''''''',,,,,,,;;;:::cccccccllllllc::::::;,,,''.....',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl,''...''''',,,,,,,,;;;;:::cccccccccccccc::::;;,,,,,''''.',:xxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddo
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddddo:,,'''''''',,,,,,,,,,;;;::::ccccccccc:;;;;;;;;;;;;;,,,,,'';xxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddodoo
xxxxxxxxxxxxxxxxkkkkkkkxxxkxxxxxkkkkkxxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddddddoc,,,,''''''',,,,,,,,,,;;;::::::ccc::;;,,,,;;;;,'.....''...;xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkxxxxxxxxxxxxxxddddddddddddddddol,,,,,,''..'''',,,,,,,,;;;;;;:::::;;,,,''.................cxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,''....'''',,,,,,,,,,,;;;;:;;,''.....',,;;;;,'''....oxxxxxxxxxxxxxdddxxxxxdddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,,'.......'''''''',,,,,,;;,,,''',,,,,,,,,,,,'',,,'.:xxxxxdxxxxxxxddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,'............''''''''''''''',,,,,''............;ddddddddxxxxddddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,,..........................'''''.'''''.........;ddddddddddddddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,,.........................'''',,,,,,,,'''''''';odddddddddddddddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,,,,,,'.......................''',,,,,,,,,'''''''':oddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;,,,,,,,,,'.......................''','''''.........'ooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,''........................................cooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooddo;,,,,,,,,,,,,''....................................,cooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo;,,,,,,,,,,,,,'......'...........            ...';:looooooooodddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooooc;,,,,,,,,,,,,,,''''....'..........        ...,loooooooooooooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoolc;,,,,,,,,,,,,,,,,,,,,,'.................  .......;ooooooooooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl:::;'.....,,,;;,,,,,,,,,,,,,,,'''.....................'''';:looooooooooodddddddddddddddddddddddddddddddddddddddoddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:,.............';;;;;,,,,,,,;;;,,,,,,'''...............''''''''''',;:oooooooooooddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'...................,;;;;;;;;;;;;;;;;;,,,,'''''........'',,,'''',,,,....'clooooooooooddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxo:,........... ...............';;;;;;;;;;;;;;;;;;,,,,,'''''''''',,,,,,,,,,,,,'......,:looooooddddddddddddddddddddddddddddddooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxdddoc;'..............  ................',;;;;;;;;,,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';clooddddddddddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddlc;,,''................. ...................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............';coddoooooddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddodddddddddl;.........................  .....................,;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................';coooddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddol:,''',:cl:;,............................ .........................',,;;;:::;;;;;,,,,;;;;::;;;;;;;,'..........................,:oddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo:'......................................................................,;;::::;;;;;;;;::::::;;;;,,................................';codddddddddooooooooooooooooooooooooooooooo
dddddddddddddddooooooooo;..........................................................................,;:::::::::::::::::;;,......................................'cooooooooooooooooooooooooooooooooooooooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',,,,,,,''''''''''';cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;'''''',,,,,,,,,,,,,,,,,,,'''''';coxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
oodddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''''''',,;;;;;;;;;;;;;;;;;;;;;;;;;,,,,cokkkkkkkxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoo
odddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkkkkkkkkkd:'''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;oxkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
dddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkOOOOOkkkl;''''''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;oxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkOOOOOOOOOOOOOOOOOOOkl,''...'''''',,,,,;;;;;;;;;:::::::::::::::::::;;;;;;;;:dkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;'......'''',,,,,,;;;;;;;;:::::::::::::::::::::::;;;;;;;;cxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
ddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,.......'''',,,,,;;;;;;;;;;;::::::::::cccc::::::::::::;;;;;:xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,.......''''',,,,,;;;;;;;;;;;::::::::cccccccc:::;;::::::;;;;;:xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:.....'''''''',,,,,;;;;;;;;;;::::::::::::cccc:::::;;::::::;;;;;:xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'....'''''''',,,,,;;;;;;;;;;:::::::::::::ccc::::::::::::::;;;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd..'''''''''''',,,,,;;;;;;;;;::::::::::::ccccc::::::::::::::;;;;,;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''''....''''',,,,,,,;;;;;;;;:::::::::cccccccccccc::::::::::;;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''...''.''''',,,,,,;;;;;;;;;:::::::::::::::cccccc::::::::::;;;;:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,'''.......''''',,,,,,;;;;;;;;;::::::,'........',;::::::::::::;;;;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''.......'''''',,,,;;;;;;;;;;;:::;'........      ...';;;;;:;;;;,,,:kkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''.......'''''',,,;;;;;;,''''......       ......      ..,,,,,'.....;kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOO:.'''................          .  ....    .,;;,,'...  ... ......     .;:cldkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkd;,,;'....           ...................   ''''''..........        ....dkd:..;dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkkkkkkkkx,...',:;'........',,,,;;;;,,,''.......    ........  ...'...  .   ....':kkxo... 'lkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd,'',,'',:c::;,'',,,;;;;;:::::;;;,,'''.... ...     ....''.. .,;.  ....,ll:,'...  ,kkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxl,,,;:::;;;;;;,,'',,;;;;;::::::c:::;;;;;,'  ''.......'''..  'ccc, .  .':clol....okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl;;;:ccc:,.',;;,,',,,;;;;::::ccccccccc:::;' .,;,,'',;;,.. .'clllc;...lxxkkxo;;,;kkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddd:;;:c;'...,cc:,,'',,,;;;;:::cccccllllllcc:,..';;;:::;,. .;ccllllc:,'dxxxxd:,;,xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddl:;::,;c:;:lc:;,,,,,,,,;;::::cccccllllllcc::;'..........;:ccllllllc:lxxxd:..'dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddl;;:;:lc;;:::;;,,,,,,,,;;::::cccccccccccccccc::;,,'..';:cllloooollc::ll;.,cxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddl;,;::::;',;,,,,,',,,,,;;::::::::ccccclllllccc::;,',::clllccccllcc:ollodxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddoc:;;;:c:;,,,,,,'''',,,;;::::::::::ccllllllllc:;,.',,'.....'',;;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc;:::cc:,,'''''''',,,;;::::::::ccclllllllcc::;,'............'lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddo:;;:;,''''''',,,,,,;;;:::cccccccllllllcc:::::;;,,'''.....,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddl''....''''',,,,,,,;;;;::::cccccccccccccc:::;;;,,,,,''''.',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddo;,''''''''',,,,,,,,,,;;;:::ccccccccc:;;;;;;;;;;;;;,,,,,'''cxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxkkkkkxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxxxxxxdddddddddddddddoc,,,,''''''',,,,,,,,,;;;::::::cc:::;;,,,,,;;;;'.....''...'cxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkxkxxxxxxxxxxxxxxddddddddddddddddol,,,,,''..'''',,,,,,,,;;;;;;:::::;;,,,''.................'oxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;,,,,,'.....'''',,,,,,,,,,,;;;:;;,''.....',,;;;;,,'''...,dxxxxxxxxxxxxxdddxxxxxdddddddddddddddddddddddddodoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,'.......''''''''',,,,,;;,,'''',,,,,,,,,,,''',''..lxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoodddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,'.............''''.''''''.'',,,,,,''...........'cdddddddxxxxxxdddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,'..........................''''.''''''.........cddddddddxxxdddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,'.........................''',,,,,,,,,''''''''cddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:,,,,,,,'.......................''',,,,,,,,,'''''''''lodddddddxddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,,''.......................'',,''''..........;oodddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddc,,,,,,,,,,''.......................................'loooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooddo;,,,,,,,,,,,,''....................................;ooooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo;,,,,,,,,,,,,,'..................           ...',:coooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooc,,,,,,,,,,,,,,,'''..'.''..........       ....;ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoolc,,,,,,,,,,,,,,,,,,,,,,'.................  ......';ooooooooooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc:::;'.....',;;;,,,,,,,,,,,,,,,''......................''''::looooooooooddddddddddddddddddddddddddddddddddddddddoodoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddoc:,.............';;;;;,,,,;;;;;;,,,,,,'''...............'''''''','',;:oooodoodddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddol:;'...................,;;;;;;;;;;;;;;;;;,,,,'''''.........'',,,''',,,,....'clooooooooodddddddddddddddddddddddddddddoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdl:,........... ...............';;;;;;;;;;;;;;;;;,,,,,,,''''''''',,,,,,,,,,,,,.......,:loooooodddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddoc;'.............. .................',;;;;;;;;,,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';cloodddddddddddddddddddddddddddoodooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''.................. ...................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............';codddoooddddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddodddddddddl,.........................  .....................,;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................';cooodddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;'.'',;cc:;'............................ .........................',,;;;::;;;;;;,,,;;;;;::;;;;;;;,'..........................,coddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo:'......................................................................,;;::::;;;;;;;;::::::;;;;,'................................';codddddddddooooooooooooooooooooooooooooooo
ddddddddddddoodooooooooo;.......................................... ...............................,;::::;;:::::::::::;;,......................................'cooooooooooooooooooooooooooooooooooooooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,'''',,,,,,,,''''''''''';lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc;,'''',,,,,,,,,,,,,,,,,,,,''''',;cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
oodddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;,,,;cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoo
oddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkkkkd:''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:dkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoo
dddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkOOOOOkkkl,'''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,:dkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkOOkOOOOOOOOOOOOOOOOOOOkl,'....'''''',,,,;;;;;;;;;;:::::::::::::::::::;;;;;;;;cxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;'......'''',,,,,,;;;;;;;;::::::::::::::::::::::::;;;;;;;lkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,......''''',,,,,;;;;;;;;;;::::::::::cccc:::::::::::::;;;;;cxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.......'''',,,,,,;;;;;;;;;;;:::::::cccccccc:::;;:::::::;;;;;ckkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:.....''''''',,,,,,;;;;;;;;;;:::::::::::cccc:::::;;::::::;;;;;;lkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'....'''''''',,,,,;;;;;;;;;;::::::::::::ccc:::::::::::::::;;;;;;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo..''''''''''',,,,,,;;;;;;;;;:::::::::::ccccc:::::::::::::::;;;;,ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''''...'''''',,,,,,,;;;;;;;;::::::::cccccccccccc::::::::::;;;;;;xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''...''''''',,,,,,,;;;;;;;;:::::::::::;:::cccccccc:::::::::;;;;ckkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,'''....'.'''''',,,,,;;;;;;;;;;:::::;'........',,;::::::::::::;;;;;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''.......'''''',,,,;;;;;;;;;;;::;'........      ....,;;;;:;;;;,,,,lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''.......'''''',;;;;;;;,''''......       .......     ..,,,,,'...  .okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOO:.''.................         .   ...    .,;;;,,...   ..  .....      .::clxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkko;,;,'.... .         ..................  .'''''''.........        ....;kkd,..:xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko'...,;:;'........',,,,;;,,,,'''......    ........  ...''. . ..   ..'''dkkxc..  ,okkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,'',,'';c:::,''',,;;;;;::::::;;,,''''... ...      ....''.  ';'   ....;lc;'.... .lkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkx:,,,;::;;;;;;,,'',,,;;;;;:::::::::;;;;;,'  ''.......'''..  .ccc;.   ..;clooc....xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxc;;;:ccc:'.,;;,,'',,;;;;;:::ccccccccc::::, .,;,,'',;;;'.  .:lllc:...'dxkkxxl;:'okkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo:;;:c;....;cc;,,',,,,;;;:::cccccllllllcc:;..';;;:::;,. .,:cllllcc;';xxxxxo;,;:kkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddc;;c;,;c:;ccc:;,,,,,,,;;;::::ccccclllllcc::;'..........,:ccllllllc:;dxxxo,..:xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;::;cl:;:::;;,,,,,,,,;;:::::ccccccccccccccc::;,,''.',:clllooooolc:;:cc,.;dkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;;::::,',;,,,,,',,,,;;;:::::::cccccllllllcc::;;'';:ccllcccccccc:ldoodxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddo:;;;;:c:,,,,,,''''',,;;;:::::::::ccllllllllcc:,'',,'......',;;;:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddl:;::ccc;,'''''''',,,;;;::::::::cclllllllcc:::,'............';dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxdddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddddl:;::;,'''''',,,,,,;;;:::::cccccclllllcc::::::;,,,''.....',;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddddc''....'''',,,,,,,,;;;;:::cccccccccccccc:::;;,,,,,,'''''',;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdddddddddddddddo;,'''''''',,,,,,,,,,;;;::::cccccccc:;;;;,;;;;;;;;,,,,,,'',oxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxkkkkkkxxxxxxxxxxxkkkxxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxddddddddddddddddo:,,,,'''''',,,,,,,,,,;;;:::::c::::;;,,,,,;;;;,......'....'dxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxkkxxxxkkkxxxxxddddddddddddddddol,,,,,'''.''''',,,,,,,;;;;;::::::;,,,''..................,dxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxxxxxdddddddddddddddddl,,,,,''.....''',,,,,,,,,,,;;;;;;,,'.....',,;;;;;,,''....cxxxxxxxxxxxxxxdddxxxddxdddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,''.......''''''''',,,,,;,,'''',,,,,,,,,,,''','''.,dxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,'.............'''..''''''''',,,,'''............'oxxdddxxxxxxxddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,,'.........................'''''.'''''.........'lddddddddxxxxdddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,'........................'''',,,,,,,,'''''''.,odddddddddddddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:,,,,,,,'.......................'',,,,,,,,,''''''''',oddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,,'.......................'''''''''.........'cooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddc,,,,,,,,,,''.......................................;ooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooodo;,,,,,,,,,,,'''................. .................'cooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooool;,,,,,,,,,,,,'..................            ...';:looooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooooo:,,,,,,,,,,,,,,,'''..'.'..........        ....;ooooooooooooooodddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoolc,,,,,,,,,,,,,,,,,,,,,''................  .......';ooooooooooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddc:::;'.....,,,;;,,,,,,,,,,,,,,,''......................''''::looooooooooodddddddddddddddddddddddddddddddddddddddodooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddoc:,.............';;;;;,,,,,,,,;;,;,,,,'''...............'''''''','',;coooodooooddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'...................,;;;;;;;;;;;;;;;;;,,,'''''.........'',,,,,,,,,,,....'coooooooooodddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdl:,........... ...............';;;;;;;;;;;;;;;;;,,,,,,'''''''''',,,,,,,,,,,,,.......,:loooooodddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddo:;'..............  ................';;;;;;;;;,,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';clooddddddddddddddddddddddddddddddooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddxdoc:;,''.................. ...................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............';codddooodddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddodddddddddl,......................... ......................,;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................';loooddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;,.'',:cc:;'...........................  ........................',,,;;;::;;;;;;;,,;;;;;::;;;;;;;,'..........................,coddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo:'......................................................................,;;:::;;;;;;;;;::::::;;;;,'................................';coddddddddoooooooooooooooooooooooooooooooo
dddddddddddddooooooooooo;.......................................... ...............................,;:::::::::::::::::;;,......................................'coddoooooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxlc;,''',,,,,,,''''''''''',:okkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc;,'''',,,,,,,,,,,,,,,,,,,,''''',:lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooo
oooddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:''''''',,;;;;;;;;;;;;;;;;;;;;;;;;;,,,,:oxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ddddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkd:''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkOOOOkkkl,'''''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;lxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkOOkkOOOOOOOOOOOOOOOOOOkl,''...''''',,,,,;;;;;;;;;:::::::::::::::::::;;;;;;;;;lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;'......''',,,,,,;;;;;;;;:::::::::::::::::::::::::;;;;;;:dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'......'''',,,,,,;;;;;;;;;:::::::::ccccccc:::::::::::;;;;;;okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'.......'''',,,,,,;;;;;;;;;::::::::ccccccccc::;;::::::::;;;;;dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:....'''''''',,,,,;;;;;;;;;;:::::::::::::cc::::::::::::::;;;;;;dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'....'''''''',,,,,;;;;;;;;;::::::::::::ccc:::::::::::::::;;;;;;:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''''''''''',,,,,,;;;;;;;;:::::::::::ccccccc:::::::::::::;;;;;,okkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''''..'''''',,,,,,,;;;;;;;;::::::::ccccccccccccc::::::::::;;;;;:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''......'''',,,,,,;;;;;;;;;;::::::::::::::cccccccc:::::::::;;;;dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,'''.......'''',,,,,,;;;;;;;;;:::::;'........',,;::::::::::::;;;;;ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''......'''''',,,,;;;;;;;;;;;;;;'........       ...,;;;;;:;;;;,,,,dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'''.......''''',,,;;;;;,,'''.....        .......      .',,,,'...   .xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOO:'''........'........            ...    .,;;;,,...   ... .....       ,:::oxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkko;,,'.......         .................  .'''''''.........        .....okxo..'cxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc...';:;'.........',,,,,,,,'''.......    ........  ...''. . ..   ...'';kkkd,.. .,xkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc'''''',::::;,'',,,;;;;;:::;;;;,,'''.... ...      ....''.  .;,.  ....'cc:'....  'xkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxd;',,;;;;,;;;;,,'',,;;;;;:::::::::;;;;;,'  ''........'''.  .:lc:. .  .':lodd:...ckkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd:;;;:ccc;.',;;,''',,;;;;::::cccccccc::::, .;;;,,,,;;;,.  .:lllcc'...:xxkkxdc;:'xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddl:;;c:,...':c:;,'',,,;;;::::ccccclllllcc:;..';;;:::;,. .':clllllc;''cxxxxxl,;'okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddd:;;:,,;:::lc:;,,,,,,,,;;::::ccccclllllccc:;'..'.......,:ccllllllc:;:xxxdl'.'okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddo:;:;;ll:;:::;;,',,,,,,;;:::::cccccccccccccc::;;,,'.',;clllloooolc:,;cc:',cxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;;;:::;'';;,,''''',,,;;:::::::cccccllllllccc::;'';:ccllccccclcc:cxoooxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddl:;,;:::;,,,'''''''',,;;:::::::::ccclllllllcc:;'',,,......',,;;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddoc;:::cc:,'''''''''',,;;::::::::cclllllllcc:::;'............',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxdddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddol;;::;''''''',,,,,,;;;::::cccccclllllccc:c:::;,,,''.....',,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddddddddddddddoc''...''''',,,,,,,;;;;::::ccccccccccccc:::;;;,,,,,''''''',:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxdddddddddddddddo,,'''''''',,,,,,,,,;;;;:::cccccccc::;;;,;;;;;;;;,,,,,,''';xxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxkkkkkxxxxxxxxkkxkkxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxdddddddddddddddo:,,,,'''''',,,,,,,,,;;;:::::c:c::;;,,,,,;;;;,'.....''...';xxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,''.''''',,,,,,,;;;;;;:::::;,,,''..................'cxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,''....'''',,,,,,,,,,;;;;;;,,'.....'',;;;;;,,,''...'oxxxxxxxxxxxxxxdddxxxdxddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;,,,,,'.......''''''''',,,,;;,,'''',,;,,,,,,,,,''',''..cxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo;,,,,,''............'''..''''''''',,,,,''.............,dxxxxxdxxxxxxxdddddddddddddddddddddddddddddddddodoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo;,,,,,,'.........................'''..''''''.........;dddddddddxxxxxdddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl,,,,,,,'.......................'''',,,,,,,,,'''''''.:odddddddxdddddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd:,,,,,,,'......................'',,,,,,,,,,''''''''':odddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,,'.......................'''''''''.........,oodddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddc,,,,,,,,,,'.......................................'loooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooodo;,,,,,,,,,,,''................  ..................,loooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo;,,,,,,,,,,,,'.................             ...';cooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooooc,,,,,,,,,,,,,,,'''....'..........        ....:oooooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddxdxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoolc;,,,,,,,,,,,,,,,,,,,,'.................   ......';ooooooooooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl:::;'.....,,;;;,,,,,,,,,,,,,,,''......................'''':clooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoc:,.............';;;;;,,,,,,;;;,,;,,,'''................'''''''','',;:oooooddddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'...................,;;;;,;;;;;;;;;;;;,,,'''''.........'',,,,,,,,',,....'cooooooooodddddddddddddddddddddddddddddddddodooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdl:,........... ...............';;;;;;;;;;;;;;;;;,,,,,,'''''''''',,,,,,,,,,,,,.......,:looooodddddddddddddddddddddddddddddddddooooooooooooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxddddo:;'..............  ................';;;;;;;;;,,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';cooddddddddddddddddddddddddddddddoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddxddol:;,,'..................  ..................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............';coddddoddddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddodddddddddl,.........................  ....................',;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................';loooddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;'''',:cc:;,...........................   .......................',,;;;;;:;;;;;;,,,;;;;;::;;;;;;;,'..........................,coddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo:'......................................................................,;;:::;;;;;;;;;::::::;;;;,'................................';codddddddddooooooooooooooooooooooooooooooo
dddddddddddoooodoooooooo;.......................................... ...............................,;::::;::::::::::::;;,......................................'codooooooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,''',,,,,,,''''''''''';lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''',,,,,,,,,,,,,,,,,,,'''''',;coxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooo
oodddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:'.'''',,;;;;;;;;;;;;;;;;;;;;;;;;;,,,,,cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkOkkkkkkkkkkkkkkkkkkkkkd:'''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
dddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkl,''''''''',,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,:okkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkOOkkkkOOOOOOOOOOOOOOOOkl,'...'''''',,,,,;;;;;;;;;;::::::::::::::::::;;;;;;;;:dkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,'.....'''',,,,,,;;;;;;;::::::::::::::::::::::::::;;;;;;lxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'......'''',,,,,;;;;;;;;;;:::::::::cccccc::::::::::::;;;;;:xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'......''''',,,,,;;;;;;;;;;::::::::cccccccc::;;::::::::;;;;;:xkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;....''''''',,,,,,,;;;;;;;;:::::::::::ccccc:::::::::::::;;;;;;ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'...'''''''',,,,,,;;;;;;;;::::::::::::ccc::::::::::::::::;;;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''''''''''',,,,,,,;;;;;;;:::::::::::ccccccc::::::::::::::;;;;,;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''''''''''''',,,,,,,;;;;;;;;:::::::ccccccccccccccc:::::::::;;;;;lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''...''..''',,,,,,,;;;;;;;;;:::::::::::::cccccccccc::::::::;;;;;kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''........'''',,,,,,;;;;;;;;;::::;'........',,;::::::::::::;;;;;;dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''......'''''',,,,;;;;;;,;;;;;;'........       ...,;;;;;:;;;,,,,':kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'''.......''''',,;;;;;;,,'''.....       .......     ..',,,,'...    :kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOOc'''.......'''....... .         ...    .;,;;,,'..   ... .....       .:::cokkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxo:,,'.......         ................  .'''''''.........        .....,kkxc..,okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkkkkkk;..',;;,.........''',,,,,''''........   ........  ....'... ..   ...'''okkxd... .:kkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'''''';c::;,''',,,;;;;:;;;;;;,,'''.... ...      ....''.  .;;.  .....,c:,..... .:kkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxo,',,;;;,;;;;,,'',,,;;;;;::::::::;;;;;,' .''........'''.. .:lcc' .   .;coddd,...xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxo;;;:cccc;',,,,,'',,;;;;;:::ccccccc::::;' .;;;,,',,;;,.. .:llllc,....lxkkkxd::,ckkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddc;;:c:,...,::;,,',,,,;;;::::cccclllllcc:,..';;;:::;,. .':ccllllc:'''dxxxxd:,;;xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddo:;::,,;:;ccc:,,'',,,,;;;:::ccccclllllcc::;'..........,:cclllllllc;,lxxxd:..:xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddl:;:;:lc;:::;;,'',,,,,,;::::::ccccccccccccc::;;,,'.',;clllooooolc:,,:c:;';okkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddo;;;::::,',;,,'''''',,;;;::::::cccccllllllccc::;,';:ccllcccccccc::xdoodxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddoc;;,;:::,,,,''''''',,;;:::::::::ccclllllllcc:;'',,,'.....',,;;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddo:;:::c:;,'''''''''',;;;:::::::ccllllllllc:::;'.............',dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxdddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddddoc;:::,''''''',,,,,,;;:::::cccccllllllcc:::::;,,,'''.....',;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo:''...''''',,,,,,,;;;::::ccccccccccccc:::;;;,,,,,,''''.',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdddddddddddddddl,''.''''',,,,,,,,,,;;;:::cccccccc::;;;,;;;;;;;;,,,,,,''',lxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoodo
xxxxxxxxxxxxxxxxxxkkkkxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxddddddddddddddoo;,,,'''''',,,,,,,,,,;;;::::::::::;;,,,,;;;;,'.....''...''lxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,''''''''',,,,,,;;;;;;;::::;,,,,''..................'oxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,'....'''',,,,,,,,,,;;;;;;;,''.....',,;;;;,,,''....;xxxxxxxxxxxxxxddddxxddddddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol;,,,,''......'''''''''',,,,,,,,''',,,,,,,,,,,,,','''..'oxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo;,,,,,'............'''..''''''''',,,,,'''.............cxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo,,,,,,'........................'''''.''''''.........'cdddddddddxxxxddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,,'........................''',,,,,,,,,'''''''.'ldddddddxxxxddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd:,,,,,,'......................''',,,,,,,,,''''''''''lddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;,,,,,,,,'......................'',''''''..........:ooddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,,,,,,,,,,'.......................................,ooooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooddo;,,,,,,,,,,,''................ ..................':ooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo;,,,,,,,,,,,,'.................             ...,:looooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooooc;,,,,,,,,,,,,,''''....'.........         ....:oooooooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoolc;,,,,,,,,,,,,,,,,,,,,'.................  ......'';ooooooooooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl::c;'.....,,;;;,,,,,,,,,,,,,,,'.......................''',:clooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddol:;.............,;;;;,,,,,,,,;;,,,,,,'''................'''''''','',;cooodddoddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'...................;;;;,,;;;;;;;;;;;,,,,'''''.........'',,,,,,,,,,,....'cooooooooodddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdl:,........... ...............';;;;;;;;;;;;;;;;;,,,,,,''''''''',,,,,,,,,,,,,,'......,:loooooodddddddddddddddddddddddddddodddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddoc;'.............. .................';;;;;;;;;,,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........';coooddddddddddddddddddddddddddddooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddl:;,,'..................  ..................';;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............,;codddooddddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddl,.........................  ....................',;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................':loooddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;,''',:ll:;,...........................  ........................',,;;;;:;;;;;;,,,,;;;;;:;;;;,;;;;'..........................;coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddoddo:'.....................................................................',;;:::;;;;;;;;;::::::;;;;;,................................,:loddddddddoooooooooooooooooooooooooooooooo
ddddddddddddooddoooooooo;.......................................... ...............................,;:::;:::::::::::::;;,'.....................................,codooooooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:,'',,,,,,,''''''''''',:okkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''',,,,,,,,,,,,,,,,,,',,'''',:lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooo
ooooddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:'''''',,;;;;;;;;;;;;;;;;;;;;;;;;;,,,,;lxkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ddddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkkkkkkkkkkkkkkkd:'''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,cxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
dddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOkkkkkkkOkkkl,'''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;cdkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkOOOOOOOOOOOOOOOOOOOOOOkl,''.'''''',,,,,,;;;;;;;;;:::::::::::::::::::;;;;;;;;lxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,'.....'''',,,,,,;;;;;;;;::::::::::::::::::::::::;;;;;;:dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.....''''',,,,,;;;;;;;;;:::::::::ccccccc:::::::::::;;;;;;lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'......'''',,,,,,;;;;;;;;;:::::::ccccccccc:::;:::::::::;;;;;okkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;......''''',,,,,,;;;;;;;;::::::::::cccccc::::::::::::::;;;;;;dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'...''''''',,,,,,,;;;;;;;::::::::::::cccc:::::::::::::::;;;;;;;xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''''''''',,,,,,,;;;;;;;;::::::::::cccccc:::::::::::::::;;;;;,lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''''''''''',,,,,,,;;;;;;;;;:::::::cccccccccccccccc:::::::;;;;,;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''..''..'''',,,,,,;;;;;;;;;;::::::::::::ccccccccccc:::::::;;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''.......'''',,,,,,;;;;;;;;;::::;'........',,;:::::::::::::;;;;;:kkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''......''''',,,,,;;;;;,;;;;;;'........       ...';;;;;:;;;;,,'''okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''........'''',,,;;;;;,,,''....       ...'....      .',,,,,'..    .dOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkOOc'''......''''........         ..     ';;;;,''..  .... ......       ,:::cdkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkxo:,'........         ...............  .'''''''.........        ......okxd,..:dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd'..,;;,'.........''',,,,''''........   ........  ....'... ..   ...''';kkkx:..  .okkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd'''''',:c:;,''',,,;;;;;;;;;;;,,''....  ...      .....'....;;'   .....::;'..... 'dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',,;;,,;;;;,'',,,;;;;;::::::::;;;;;,. .''........'''....:lcc, ..  .,codxxl'..:kkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxl;;;:ccc:,,,,,,'',,;;;;;::::cccccc::::;. ';;;,,,,,;;,....;llllc;....,xkkkxxl::.xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdo:;;:c;'...:::,,',,,,;;;::::ccccllllccc:,..,;;;:::;,...':clllllc:,'';xxxxxo,:'okkkkkkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddc;;:;',;;;cc:;,,',,,,;;;:::ccccclllllccc:,'..'''.....,:cclllllllc;,;dxxxd;.'dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddc;::;clc;:::;,,''',,,,;;:::::ccccccccccccc::;;,,'.',;ccllloooolcc'.;::;,,cxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;;::::;',;,,''''',,,;;;::::::cccccllllllccc::;,';::cllcc:ccllc::cxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddo:;,;:::;,,,''''''',,;;;::::::::ccclllllllcc:;'',,,'.....',,;;;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddl:;::cc:,'''''''''',;;;:::::::ccclllllllc:::;,....... .....',:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddol::::;,'''''''''',,;;:::::ccccccllllccccc:::;;,,,''.....',;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo;''...'''',,,,,,,;;;:::::ccccccccccccc:::;;,,,,,,''''.',,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxdddddddddddddddc,''.''''',,,,,,,,,;;;::::ccccccc::;;;;;;;;;;;;,,,,,,'''';dxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooo
xxxxxxxxxxxxxxxxxxkkkkkxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxddddddddddddddoo;,,,'''''',,,,,,,,,;;;:::::c:::;;;,,,,;;;;,'.....''....';dxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddoo:,,,,'''''''',,,,,,,;;;;;;::::;,,,,''..................':xxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddodoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,''....'''',,,,,,,,,,;;;;;;,''.....',,;;;;,,,''....'oxxxxxxxxxxxxxxdddxxxddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,,,'.......'''''''''',,,,,,'''',,,,,,,,,,,,,',,'''..;xxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddool,,,,,,'............''..''''''''',,,,,'''.............'oxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddool,,,,,,'.......................'''''..'''''..........,oddddxddxxxxxxddddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,'.......................'''',,,,,,,,,'''''''.,odddddxxxxxxddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd:,,,,,,'......................'',,,,,,,,,,''''''''',odddddddddddxddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,,,''.....................'',''''''..........'looddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddc,,,,,,,,,'........................................cooooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooodo;,,,,,,,,,,''...............  ...................,loooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo;,,,,,,,,,,,,'................              ..';:looooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddooooooc;,,,,,,,,,,,,,'''..............         .....:oooooooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooc;,,,,,,,,,,,,,,,,,,,,'...............    ......'':ooooooooooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddlc:c;'.....,,;,,,,,,,,,,,,,,,,''.......................''',:cooooooooooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddlc;.............,;;;;,,,,,;,,;;,,,,,,'''................''''''',,'';;cooddddddddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'..................';;;;,,;;;;;;;;;;;,,,''''''.........'',,,,,,,,,,,....,coooooooodddddddddddddddddddddddddddddddodddoooooooooooooooooooo
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdo:,'.......... ...............,;;;;;;;;;;;;;;;;,,,,,,'''''''''',,,,,,,,,,,,,,'.....';cooooooddddddddddddddddddddddddddddodddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxdddoc:'.............. .................,;;;;;;;;;,;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,..........':cooddddddddddddddddddddddddddddodoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddlc:;,''.................  ..................,;;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............,:lodddodddddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddl;.........................  ....................';;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................,:loodddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddol:,''',:llc;,...........................  ........................',;;;;;;;;;;;;,,,,,;;;;::;;;,;;;;'..........................;coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddoddoc'.....................................................................',;;::;;;;;;;;;;::::::;;;;;,'...............................,:loddddddddoooooooooooooooooooooooooooooooo
dddddddddddddooooooooooo;.......................................... ..............................';:::::;;:::::::::::;;,'.....................................,looooooooooooooooooooooooooooooooooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,'',,,,,,'''''''''''';cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc:,''',,,,,,,,,,,,,,,,,''','''';cokkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooo
ooodddddddddddxxxxxxxxxxxxxxxxkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:''''',,;;;;;;;;;;;;;;;;;;;;;;;;;,,,,,cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooo
odddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:''''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,:oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxdddddddddddddddddddooo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkOkOOOOOOOOOkkkkkkkkkkxl,'''''''',,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkOOOOOOOOOOOOOOOOOkc''..''''',,,,,,,;;;;;;;;;:::::::::::::::::;;;;;;;;;:okkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkOOOOOOOOOOOOOOOOOd,'....''''',,,,,,;;;;;;;;::::::::::::::::::::::::;;;;;;cxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
dddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.....'''',,,,,,,;;;;;;;:::::::::ccccccc::::::::::::;;;;;:xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo......'''',,,,,,,;;;;;;;;:::::::cccccccc:::;;:::::::::;;;;;:xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;...''''''',,,,,,,;;;;;;;:::::::::::cccc:::::::::::::::;;;;;;ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''.'''''''',,,,,,;;,;;;;;:::::::::::cccc:::::::::::::::;;;;;;;lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''''''''',,,,,,,,,;;;;;::::::::::cccccc:::::::::::::::;;;;;,;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''''.'''.'',,,,,,,;;;;;;;::::::::cccccccccccccccc:::::::;;;;;,ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''....''''',,,,,;;;;;;;;;;:::::::::::ccccccccccccc:::::::;;;;;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''...'...'''',,,,,,;;;;;;;;:::;,'........',,;:::::::::::::;;;;;;lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk''......'''''',,,,,;;;;,;;;;;,'........      ....';;;;;;;;;,,'''';kkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''......'''',,,,;;;;,,,''....       ..''....      .',,,,''..     :kOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOOl''......''''........        ..     .,;;,;,''..   ... ......       .::::lxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxd:''.........       ...............  .'''''''.........        ......,kkxl..'cxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl'.',;,'.. .......'',,,,'''.........   ........  ....'... ...   ..''''dkkxo'.   'xkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl''''',:::;;,''',,,;;;;;;;;;;,,'.....  ..       .....'....:;'   .....,;,'..... .ckkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc'',,;,,;;;;,,'',,;;;;;::::::::;;;;;,. '''........'''....:lcc;...   .:odxxd;'..xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx:,;;:cc:;',,,,''',,;;;;:::::ccccc::::;..,;;;,,,,,;;,....:llllc;.....okkkkxd:c'ckkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdl:;;::;'..'::;,'',,,;;;;:::ccccccllccc:...,;;;:::;,...':clllllc:,'''oxxxxdc;,:kkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddd:;;c;',;;:cc;,,''',,,;;;:::ccccclllccc::,'..........,:cclllllllc;',lxxxdl'.ckkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddo:;c;;ll::::;;,'''',,,;;:::::cccccccccccc:::;;,,'.',:ccllooooolcc'.,::;;,:dkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddd:;;::::,';;,,''''',,,;;:::::::ccccllllllccc::;'';:ccccc::cclcc::;oxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;,,;::;,,,'''''''',,;;::::::::ccclllllllcc:;''','......',,;;;,;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddoc;;::c:;,''''''''',,;;:::::::cccllllllcc:::;,.............',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddddoc::::;'''''',',',,,;:::::ccccccllllccc:cc::;,,,,''.....',;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddddddddo;'...'''',,,,,,,,;;;::::cccccccccccc:::;;;;,,,,,''''.'',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddddddddddddddoc,'..''''',,,,,,,,;;;::::::ccccc::;;;,;;;;;;;;,,,,,,'''',lxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxkxxxxkkkkkkkkkkkkkkkkkkxkxkxxxxxxxdddddddddddddddol,,,,'''''',,,,,,,,;;;;::::::::;;;,,,,;;;;,......''....',lxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxkkxxxxxxxxxxxxxxxxdddddddddddddddoo;,,,''..'''',,,,,,,,;;;;;::::;,,,,'...................''oxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:,,,,''...''''',,,,,,,,,;;;;;;,'......',;;;;;;,,,'.....;xxxxxxxxxxxxxxxdddxxxdddddddddddddddddddddddddddddodooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,'......'''''''''',,,;;,'''',,,,,,,,,,,,,'',,''...lxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddool,,,,,''...............''''''''',,,,,'''..............:dxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddool,,,,,,.......................'''''.''''''...........cdddddxdxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoc,,,,,,'......................''',,,,,,,,,''''''''.'cddddddxxxxxxxddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd:,,,,,,'.....................'',,,,,,,,,,''''''''''cdodddddxdxdddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,,,'.....................''''''''...........':oodddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,,'.......................................;oooodddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooodo;,,,,,,,,,,''................ ..................':ooooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooo;,,,,,,,,,,,'................               ..,:looooooooooddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooooooc,,,,,,,,,,,,,,''...............         .....coooooooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooc;,,,,,,,,,,,,,,,,,,,''...............   .......'':ooooooooooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddlc:c;'.....,,,;,,,,,,,,,,,,,,,''......................'''',:coooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddlc;.............,;;;,,,,,,,,,,,,,,,,'''.................''''''',,'';;coodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'..................';;;,,,;;;;;;;;;;,,,,'''''..........'',,,,,,,,,,,....,coooooooodddddddddddddddddddddddddddddddddodoooooooooooooooooooo
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdo:,'.......... ...............,;;,;;;;;;;;;;;;;,,,,,,''''''''''',,,,,,,,,,,,,'.....';cooooooddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddoc:'..............  ................,;;;;;;;;;';;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,;cooddddddddddddddddddddddddddddddoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddlc:;,'..................  ..................,;;;;;;;;;;;;;;;;,,,,,,,,,,,,;;;;,,,,,,,,,...............,:loddddddddddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddl;.........................  ....................';;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................,:looddddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc:,''',:llc;,...........................  ........................',;;;;;;;;;;;,,,,,,;;;;:;;;;,,;;;'.........................';coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddddddodoo:'........................................ ............................',;;::;;;;;;;;;;;:::::;;;;;,'...............................,:loddddddddoooooooooooooooooooooooooooooooo
dddddddddddddooooooooooo;.......................................... ..............................';::::;:::::::::::::;;;'.....................................,lodoooooooooooooooooooooooooooooooooooll
ooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,'',,,,,,'''''''''''';oxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkol:,'',,,,,,,,,,,,,,,,,',,',,'',:lxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddddddddoooo
ooddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''',,,;;;;;;;;;;;;;;;;;;;;;;;;;,,,,;lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ddddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkko:'''''',,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,cdkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkOkkkkkkkkkkkkkkxl,''''''',,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;cdkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkkOOOOOOOOOOOOOOOOOOxc'...''''',,,,,,,;;;;;;;;;::::::::::::::::::;;;;;;;;cxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddddxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,.....'''',,,,,,,,;;;;;;;:::::::::::::::::::::::;;;;;;;okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
dddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'.....''',,,,,,,,;;;;;;::::::::cccccccc::::::::::::;;;;;;lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo......'''',,,,,,,;;;;;;;::::::::cccccccc::;;:::::::::;;;;;;lkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,..''.''''',,,,,,,;;;;;;;:::::::::cccccc::::::::::::::;;;;;;;okkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'..''''''',,,,,,,,,;;;;;::::::::::ccccc:::::::::::::::;;;;;,,;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''''''''',,,,,,,,,;;;;;:::::::::cccccccc::::::::::::::;;;;;,,ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''''''..'',,,,,,,;;;;;;;;::::::cccccccccccccccccc:::::::;;;;,;dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''''....'''',,,,,,;;;;;;;;;:::::::;:::::ccccccccccccc:::::;;;;,ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''......'''',,,,,,;;;;;;;;;;:;,'.........',;:::::::::::::;;;;;,;xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk''.......'''',,,,,,;;,,;;;;;,'........      ....',;;;;:;;;,,'''''lOkOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''.......'''',,,;;;;,,'''...       ..'''....      .',,,,'...     .dkOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOOl''.......''''......        ..     .,;;,,,'...  .... .....      . .;::;:okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxd:''.........     ...............  ..'''''''.........        .......dkxd:..,lxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'',;;,..  .......''',''''........   .........  ....'... ...   ...'''ckkxd:..  .lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'''',;::;;,''',,,,;;;;;;;;;,'''.... ...       .....'...'::,   ......;,'..'.. .:xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx;'',,,,,;;;,,'',,,;;;;;::::::;;;;;,'..'''........'''....:llc;....  .:oxkkxl''.lkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxd;,,;::::,,,,,,'',,;;;;;::::::ccc::::, .;;;;,,,,;;;,....:llllc;.....;kkkkxxlc;;kkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddc;;;::,...;:;,'',,,,;;;::::cccccccccc;..',;;;:::;,...,:clllllc:,''':xxxxxo:;,xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddo:;;:,',;;cc:;,''',,,;;;:::cccccclllcc::,'.''.......,:cclllllllc;',;xxxdo;.;xkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddo:;:,:lc::::;,''''',,;;;:::::cccccccccccc::;;,,'.';:clllooooolc:,.':::;;:dkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddo;;;:::;',;,,'''''',,;;;:::::::cccclllllccc::;'';:ccccc::ccccc:;;:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddoc;,,;::,,,'''''''',,;;;:::::::ccclllllllcc:;''','......',,;;,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddl:;;::::,''''''''',,;;:::::::cccllllllcc:::;,..............,;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddlc:::;,''''''''',,,;;:::::cccccllllcccccc::;,,,'''.....',;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddl,'...'''',,,,,,,,;;::::cccccccccccc:::;;;,,,,,,''''''',;:xxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkxxxxddddddddddddddo:''.''''',,,,,,,,;;;:::::::cccc::;;;;;;;;;;;;,,,,,,'''',:xxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxkxxxxxkkkkkkkkkkkkkkxkkkkkxxkxxxxxdddddddddddddddoc,,,'''''',,,,,,,,,;;;;:::::::;;,,,,,;;;,'......''....'':xxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddooo;,,,''.'''''',,,,,,;;;;;::::;,,,,'....................':xxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoo:,,,,'...'''''',,,,,,,,;;;;;;,'.....'',;;;;;;,,,''....'lxxxxxxxxxxxxxxxxdxxxdxxddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooc,,,,''......'''''''''',,,,,'''',,,,,,,,,,,,,'',,''...;dxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoooc,,,,,'................'''''''',,,,,'''..............,oxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddooc,,,,,'......................'''''..'''''...........,oddxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooc,,,,,'......................''',,,,,,,,,,'''''''..,oddddxxxxxxxddddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd:,,,,,'.....................''',,,,,,,,,'''''''''';odddddxxxxdddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,,''....................''''''''............,oodddddddxxdddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,''......................................'loooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooddo;,,,,,,,,,,'....................................;oooooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooo;,,,,,,,,,,,'................              ..,;coooooooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddxxxxxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooooooc,,,,,,,,,,,,,,''...............        .....'cooooooooooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddooooc;,,,,,,,,,,,,,,,,,,,'...............    .......'':ooooooooooooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddlc:c;'.....,,,,,,,,,,,,,,,,,,,''......................'''',:cooooooooodddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl:;.............,;;;,,,,,,,;;;,,,,,,'''................''''''',,,'';;coodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'..................';;;,,;;;;;;;;;;;,,,,'''''..........'',,,,,,,,,,,....,coooooooodddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdl:,........... ...............,;;;;;;;;;;;;;;;;,,,,,,,''''''''',,,,,,,,,,,,,,'.....',cloooooddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddoc;'.............. .................,;;;;;;;;;';;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:cooddddddddddddddddddddddddddddodoooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddl:;,,'..................  ..................,;;;;;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,,,,,...............,:lodddddddddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddl,.........................  ....................';;;;;;;;;;;;;;,,,,,,,,,,;;;;;;,,,;;;,'....................,:loddddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;,''',:llc;,...........................  ........................',;;;;;;;;;;;;;,,,,;;;;:;;;;,;;;;'.........................';loddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddo:'.....................................................................';;;;:;;;;;;;;;;;:::::;;;;;,................................,:loddddddddddoooooooooooooooooooooooooooooo
dddddddddddodooooooooooo;.......................................... ..............................';;:::;;::::::::::::;;,'.....................................,lodooooooooooooooooooooooooooooooooooolo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;'',,,,,,'''''''''''',cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooo
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,'',,,,,,,,,,,,,,,,,,,,,,,'',:oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddddddddoooo
ooodddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''',,;;;;;;;;;;;;;;;;;;;;;;;;,,,,,,cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooo
odddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkko;'''''',,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,;oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
dddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkkkkkkkkkxc,''''''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;lxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxdddddddddddddddddddddoo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkkkkkOOOOOOOOOOOOOOOOOOOx:'..''''',,,,,,,;;;;;;;;;;::::::::::::::::::;;;;;;;;oxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'....'''',,,,,,,,;;;;;;;;:::::::::::::::::::::::;;;;;;cxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo
dddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'....'''',,,,,,,;;;;;;;::::::::cccccc::::::::::::::;;;;;:xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl.....''''',,,,,,;;;;;;;::::::::ccccccc:::;:::::::::::;;;;;:xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'..''''''',,,,,,,;;;;;;::::::::::cccccc::::::::::::::;;;;;;;:xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''''''',,,,,,,,,,;;;;:::::::::::cccc:::::::::::::::;;;;;;,,lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''''''''',,,,,,,,,;;;;:::::::::ccccccc:ccc::::::::::::;;;;,,;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''''...''',,,,,,;;;;;;;;::::::cccccccccccccccccccc::::::;;;,,ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''''...'''',,,,,,;;;;;;;;;::::::;;:::::ccccccccccccc:::::;;;;,;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''.....'''',,,,,,,;;;;;;;;;;,'.........'',;;::::::::::::;;;;;,,lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,'.....''''',,,,,,;,,,;;;;;'........       ....';;;;;;;;;,''....,kOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''......'''',,,,;,,,,''....       .',''....     ..',,,,'..       :xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOOo''......'''''.....       ...    .,,;;,,,'........  .....      ...,c:;;:dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxc''........     ............... ..'''''''..........        .......ckkxo'..;oxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,'';;,'.  .......''''''''........   .........  ....'.. ....  ....''';xkxoc'.   'kkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,'''',:::;,'.'',,,;;;;;;;;,,''....  ....     ..........,::,   ......''''','...:dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxd,'',,,,;;;;,'',,,;;;;;;:::::;;;,,,. .,''.......'''....'cllc;....  .;oxkkxd:,.:kkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxo;,,;:::;,,,,,'',,,;;;;::::::cc::::;..';;;,,,,,;;;'...,cllllc;.....'dkkkxxdcc,xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdd:;;:c;'..'::,,'',,,;;;;:::ccccccccc:,..,;;;:::;,'...;cclllllc:'.'',oxxxxdc;'dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddl;;:;'',,:c:;,''',,,;;;:::ccccccllccc:;'''........';ccclllllllc,.',lxxxdc.;dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddl;:;;cl::::;,''''',,;;;::::::cccccccccc:::;;,,'.,;:clloooooolc:'..,::;;:dkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddl;;::::,',,,'''''',,;;;:::::::ccccllllcccc::,',::cccc::::cccc:;,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddo:,,;::;,,,''''''',,;;;:::::::ccclllllllcc:;''''.......',,,,,,,;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddc;;;:::;''''''''',,;;:::::::cclllllllcc:::;'..............,;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddol::::;'''''''''',,;;:::::cccccllllcccccc::;,,,,''.....',;;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddddddddddddddoc'...'''''',,,,,;;;:::::cccccccccc:::;;;,,,,,,,'','''',;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxddddddddddddddo;''.''''',,,,,,,;;;;::::ccccc::;;;,,;;;;;;;,,,,,,,'''',,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxkxxxkkkkkkkkkkkkkkkxxxxkkkxxxxxxxxddddddddddddddooc,,,'''''',,,,,,,,;;;;:::::::;;,,,,,;;;,'............'',oxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxkkkxxxxxkkxxxxxxxxxdddddddddddddoool,,,''''''''',,,,,,;;;;;:::;;,,,''....................',dxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooo;,,,''...'''''',,,,,,,;;;;;,''.....',,;;;;;;,,,''.....:xxxxxxxxxxxxxxxxddxxxxxxddddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooo:,,,,'......'''''''''',,,,,'''',,,,,,'',,,''''''''...'oxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooc,,,,''...............'''''''',,,,,''................lxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooc,,,,,'.....................'''''.'''''''..........'cddddxxxxxxxxxxdddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo:,,,,,'.....................''',,,,,,,,,,,''''''..'ldddddxxxxxxxddddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo:,,,,,'....................'',,,,,,,,,''''''''''''loddddxxxxxxddddddddddddddddddddddddddddddddddddddooooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo,,,,,,,'....................''''''''............'coddddddddxxdddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,,'.......................................cooodddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddxxxxxxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooodo,,,,,,,,,,''...............  ..................,loooooooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddxxxxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooool;,,,,,,,,,,,'...............               .';cooooooooooodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddxxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooo:,,,,,,,,,,,,,'''..............         .....'loooooooooooooddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddooolc,,,,,,,,,,,,,,,,,,,,'...............    ......'''coooooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl:::;'.....,,,,,,,,,,,,,,,,,,,''......................'''',:cooooooooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddol:,.............,;;;,,,,,,,;,,,,,,,,'''................''''''',,,'';;coodddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'..................';;;,,,;;;;;;;;;;,,,'''''..........''',,,,,,,,,,,....,coooooooodddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdl:,........... ...............,;;;;;;;;;;;;;;;;,,,,,,,''''''''',,,,,,,,,,,,,,'.....',:ooooodddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddoc;'.............. .................,;;;;;;;;,,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:cooddddddddddddddddddddddddddddodoooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''..................  ..................,;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;;,,,,,,,,,...............,:looddddddddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddodddddddddl,.........................  ....................';;;;;;;;;;;;;;,,,,,,,,,,;;;;;;,,;;;;,'....................,:loddddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;'.'',:lc:;,...........................  ........................',;;;;;;;;;;;;;,,,,;;;;;;;;;,,;;,'.........................';loddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddooodo:'........................................  ...........................';;;;:;;;;;;;;;;;:::::;;;;;'................................,:lodddddddddooooooooooooooooooooooooooooooo
dddddoddddoooooooooooooo,.......................................... ..............................';;::;;;;;::::::::::;;,'.....................................,looooooooooooooooooooooooooooooooooooooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;'',,,,'''''''''''''';lxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,,,,,,,,,,,,,,,,,,,,,,,,,''';lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooo
oododdddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''',,,;;;;;;;;;;;;;;;;;;;;;;;;,,,,':oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxdddddddddddddddddddddoooo
odddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;''''',,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,cdkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddoooo
dddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkkkxc,'''''',,,,,;;;;;;;;;;;;;;;;;;;;;::;;;;;;;;,,;cdkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddddooo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkOkkkkOOOOOOOOOOOOOOOOOOOx:'..''''',,,,,,;;;;;;;;;;:::::::::::::::::;;;;;;;;;cxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxddddddddddddddddddddooo
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkOOOOOOOOOOOOOOOOOOOl'....'''',,,,,,,,;;;;;;;:::::::::::::::::::::::;;;;;;;okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo
ddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'....'''',,,,,,,,;;;;;::::::::cccccc::::::::::::::;;;;;;okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl..'.''''',,,,,,,,;;;;;;:::::::cccccc::::;::::::::::;;;;;;;okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,'''''''',,,,,,,,,;;;;;:::::::::ccccc:::::::::::::::;;;;;;;;dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''''''',,,,,,,,,,;;;::::::::::cccccc::::::::::::::;;;;;;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''''''''',,,,,,,,,;;;:::::::::cccccccc::::::::::::::;;;;;;,,ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''....'',,,,,,,;;;;;;;::::::ccccccccccccccccccccc:::::;;;,,;dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''...'''''',,,,,;;;;;;;;::::::;;::::ccccccccccccccc:::::;;;,,lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''....''''',,,,,,,;;;;;;;;;,..........'',;:::::::::::::;;;;;,,;kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'.....'''',,,,,,,,,,;;;;,'.......        ....,;;;;;;;;,,'......oOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,'......''',,,,,,,,'''...       ..,,'....      ..,,,,''..       'oxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkOOd''.....'''''.....      ...    .,,,;,,,''........ .....      ....'l:;,;lxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxl'........      .............  ..'''''''..........        ...''..;kkxd;. ':dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,',;;'..  .......''''''........   .........   ....... ...   ....''',xkxlc,.   .dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko'.'',;::;,'..',,,,;;;;,,,,,'..... ...      ...........:c:'  ........'',,;;.. cxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,',,,',;;;,''',,,;;;;;;;:;;;;,,,...',''.......'''....:llc:, ..    'dkkkkxo;.,kkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxl,,,;::;,,,,,''',,,;;;;::::::::::;'..;;;;,,,,;;;,....:clllcc,......ckkkkxxlc'dkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdo:;;::;...;:;''',,,,;;;::::cccccccc;..';;;;:::;,...':cllllllc;.''''cxxxxxo:,okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddc;;:;'',;c:;,''',,,,;;;:::ccccccccc::,'''........,:cclllllllc:..',:xxxdc',dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddc;:,;lc:::;,''''',,;;;;:::::cccccccccc:::;,,'.',:cllloooooolc;'..';;;:cdkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddc;;:::;',,,'''''',,;;;;::::::ccclllllcccc:;,';::cc:::;::ccc::;,,:xxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddl;,,;:;,,'''''''',,;;;;::::::ccllllllllc:;,'''.......'',,,,,;;,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddoc;;;::;,'''''''',,;;;::::::cclllllllc::::,'.............',;;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddoc:::;,''''''''',,;;::::::cccclllccccc:::;;,,,'''.....',;;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
xxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddo:'...'''''',',,;;;:::::cccccccccc:::;;;,,,,,,,'','''',;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxdddddddddddddddo;'.'''''',,,,,,,;;;;::::::cc:;;;;,;;;;;;;;,,,,,,,''''',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddooo:,,''''''',,,,,,,;;;;::::::;;,,,,,,;;,'.............'',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddoool,,,'''''''',,,,,,;;;;;:::;,,,,'.....................''lxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol,,,''...'''''''',,,,,;;;;;,'.....'',,;;;;;;,,,''.....,dxxxxxxxxxxxxxxxxxxxxxddddxxdddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo;,,,''.....''''''''',,,,,,''',,,,,,,'',,,''''''''...'lxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo:,,,,'...............''''.''',,,,'''................:dxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo:,,,,'.....................''''..''''''............;ddddxxxxxxxxxxxdddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxddddddddddddddddoo:,,,,,.....................''',,,,,,,,,,,''''''...:odddddxxxxxxxxdddddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo:,,,,''...................'',,,,,,,,,'''''''''''':oodddddxxxxxdddddddddddddddddddddddddddddddddddddddoooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,''...................''''''''.............:ooddddddddxxxddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,''......................................:oooodddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooodo,,,,,,,,,,'..............   ..................,coooooodddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddxxxxxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooool;,,,,,,,,,,'..............                ..,coooooooooodddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooool:,,,,,,,,,,,,,'''.............          .....'loooooooooooodddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoool:,,,,,,,,,,,,,,,,,,,''..............     ......'''cooooooooooooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl:::;'.....,,,,,,,,,,,,,,,,,,''......................''''',:cooooooooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddol:,.............,;;,,,,,,;;;;,,,,,,''''................'''''''',,'';;cooddddddddddddddddddddddddddddddddddddddddddooodooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl:;'..................';;,,,,;;;;;;;;;;,,,'''''..........'',,,,,,,,,,,,....,coooooooddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxddddl:,........... ...............';;;;;;;;;;;;;;;;,,,,,,'''''''''',,,,,,,,,,,,,,'.....';cooooodddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxdddddo:;'..............  ................,;;;;;;;;,,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:lodddddddddddddddddddddddddddddoooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''..................  ..................,;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;;,,,,,,,,,...............,:lodddddddddddddddddddddddoooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddodddddddddl,........................   ....................';;;;;;;;;;;;;;;,,,,,,,,,;;;;;;,,,;;;,'....................,:loddddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;'..',:cc:;'...........................   .......................',;;;;;;;;;;;;,,,,;;;;;;;;;;,;;;,'..........................;coddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddooooo:'........................................ ............................';;;;;;;;;;;;;;;;:::::;;;;;'................................,:lodddddddddooooooooooooooooooooooooooooooo
ddddddoooooooooooooooooo,.........................................................................';;:::::::::::::::::;;,'.....................................,lodooooooooooooooooooooooooooooooooooooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,,,,,'''''''''''''',cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:;,,,,,,,,,,,,,,,,,,,,,,,''';cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooo
oooodddddddddddxxxxxxxxxxxxxxxkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''',,;;;;;;;;;;;;;;;;;;;;;;;;,,,'';cxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooo
oddddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;'''',,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,:oxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxdddddddddddddddddddddddooo
dddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkxc,''''',,,,,,;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;,;oxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkkOkOOOOOOOOOOOOOOx:''''''',,,,,,;;;;;;;;;;::::::::::::::::::;;;;;;;;:okkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkOkOkOOOOOOOOOOOOOl'...'''',,,,,,,;;;;;;;:::::::::::::::::::::::::;;;;;;cxkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
ddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'...'''',,,,,,,,;;;;;::::::ccccccc::::::::::::::::;;;;;cxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl..'''''',,,,,,,,,;;;;;::::::ccccccc:::;:::::::::::;;;;;;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''''',,,,,,,,,,;;;;::::::::::ccc::::::::::::::::;;;;;;;;lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''''''',,,,,,,,,,;;::::::::::cccccc:::::::::::::::;;;;;;,,;okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''''''',,,,,,,,,;;;::::::::cccccccccccccc:c:ccc::::;;;;;,,;xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''...'',,,,,,,,,;;;;;:::::cccccccccccccccccccccc:::::;;;,,,ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''...'''''',,,,,,,;;;;:::::;;;::::ccccccccccccccccc:::;;;;,,;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''....''''',,,,,,,,;;;;;;,...........',;;:::::::cc::::;;;;;,,,dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'....''''',,,,,,,,,;;;,'.......         ...,;;;;;;;;,,'.......lOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'.....''',,,,,,,,''....      ..','...  .    ..',,,,'..        .ldxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkOk,'.....''''.....     ..     .',,;;,,,'........  ....     ......'lc;,,cdkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkOkkkkkkkkkkkkkkkkkkkkkkkx'........   .............. ....'''''...........        ....'''.;kkkxc. .,lkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,,:c,'.  .........'..........   .........   .........'..   ....''',dxdl:,.   .dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc..',;:;;,'..',,,,,;,,,,,,''........     ............;c:;.    .....''',;::,..lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxl'',,',;;;,''',,,,;;;;;;;;;;,,,...''''......''''....;lllc;...    .'dkkkkxdc';kkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxc,,,;:;;,,,,''',,,;;;;:::::::::;'.';;;;;,,,;;;,'...;cllllc;.......;xkkkxxdl,dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxo;;;::,..';;,'',,,,;;;:::cccccccc;..';;;;:::;,...':cclllllc:'.'''';dxxxxd:,okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddc;;:,'',:::,'''',,;;;;:::cccccccc::,''''.......,:cccllllllc:'..',;dxxo:,:xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddo:;:,:lc::;,,'''',,;;;::::::ccccccccc:::;;,,'',:ccllloodoolc:;....;:::lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddd:;;:::,',,'''''',,;;;;::::::cccclllcccc::,',;::c::;;::ccc::;,,,,okxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddc,,;::,,'''''''',,;;;;;::;::cclllllllc::,'.'........',,,'',;;,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddo:;;;::,'''''''',,;;;:::;::ccllllllcc:::;'..............';;;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddl:;:;,'''''''',,,;;;:::::cccccllccccc:::;,,,,'''.....',;;;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxddddddddddddddddddddddddd
xxxxxxxxxkkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddddddl:'..'''''''',,,;;::::cccccccccc:::;;;;,,,,,,''','''',;;:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxddddddddddddddoo,'.''''',,,,,,,;;;::::::c::;;;;,,;;;;;;;,,,,,,,''''',;:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxkkxxxxxxxxxxkxxxxxxxxxkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddooo:,,''''''',,,,,,;;;;:::::;;,,,,,,;;,'.............''',:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddooooc,,,'''''''',,,,,,;;;;::;,,,,''.....................''cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooool,,,''...''''''',,,,,;;;;,'......',,,;;;;;,,,,'......,oxxxxxxxxxxxxxxxxxxxxxxxdxddxxddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoooo;,,,'.....''''''''',,,,,'''',,,,,,',,,,,'''''''.....:dxxxxxxxxxxxxxxxxxddxdddddddddddddddddddddddddddddddoodooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo;,,,''.............''''..'',,,,,''.................,dxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo:,,,,'....................'''...'''''.............,odxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxddddddddddddddddoo:,,,,'....................''',,,,,,,,,,,''''''...,oddddxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo;,,,,'...................'',,,,,,,,''''''''''''':ooddddxxxxxxxxxxddddddddddddddddddddddddddddddddddddoooooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,,'...................'''''''.............':ooddddddxxxxxxdxddddddddddddddddddddddddddddddddddddooooooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,,,'......................................:oooddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddxxxxxxxxxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddoooooodo,,,,,,,,,''............   ...................,loooooodddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddxxxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooool;,,,,,,,,,,'.............                ...codddooooooodddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooool:,,,,,,,,,,,,'''.............          .....''looddooooooooddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoool:,,,,,,,,,,,,,,,,,,,'..............     .......'''cooddooooooodddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddc:::,......,,,,,,,,,,,,,,,,,,''......................''''',:cooooooodddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddoc:,.............,;;,,,,,,,,,,,,,,,,'''.................'''''',,,,'',;codddddddddddddddddddddddddddddddddddddddddddododdoooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddol;,'.... ..............;;,,,;;;;;;;;;;;,,''''''..........'',,,,,,,,,,,,....,codoooddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxdddddl;'........... ...............',,,;;;;;;;;;;;;,,,,,,,'''''''''',,,,,,,,,,,,,,.......,:loooddddddddddddddddddddddddddddddoddddooooooooooooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxddddddddl:;'..............  ................,;;;;;;;;,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........':lodddddddddddddddddddddddddddddoooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,'...................  ..................,;;;;;;;;;;;;;;;;,,,,,,,,,,,;;;;;,,,,,,,,,...............,:coddddddddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddooddddddddoc,........................   ....................',;;;;;;;;;;;;;,,,,,,,,,,;;;;;;,,,;;;,.....................,:ldddddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;'..',;cc:;'...........................   .......................',;;;;;;;;;;;,;,,;;;;;;;;;;;,;;;,'.........................';coddddddddddddddoooooooooooooooooooooooooooooo
dddddddddddddddddoooooooo:'........................................ ............................';;;::;;;;;;;;;;;:::::;;;;,'................................,:loddddoddddooooooooooooooooooooooooooooooo
ddddddoooooooooooooooooo;.........................................  ..............................';::::::::::::::::::;;,......................................,loooooodoooooooooooooooooooooooooooooooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc,,,,,''''''''''''''':okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddodooooo
ooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:;,,,,,,,,,,,,,,,,,,,,,'''',cokkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooo
ooooodddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'',,,,;;;;;;;;;;;;;;;;;;;;;;,,,'',cdkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooo
odddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;''',,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,:lxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
dddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkxc,'''',,,,,;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;;,;lxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxddddddddddddddddddddddooo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkkkkkkOOOOOOOOOOOOx:'''''',,,,,,;;;;;;;;;;::::::::::::::::::;;;;;;;;;okkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkkOOOOOOOOOOOOOOo'..'''',,,,,,,;;;;;;;;::::::::::::::::::::::::;;;;;;:xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
ddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'..'''',,,,,,,,;;;;;::::::::ccccc::::::::::::::::;;;;;:dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''''',,,,,,,,,;;;;;::::::cccccc:::::::::::::::::;;;;;;:xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''''''',,,,,,,,,;;;:::::::::::cc:::::::::::::::::;;;;;;;,:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk''''''',,,,,,,,,;;;::::::::::ccccc::::::::::::::::;;;;;;,,,lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''''''',,,,,,,,;;;;::::::::cc:cccccccccccccc:::::::;;;;,,,;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''.'''',,,,,,,,;;;;;:::::ccccccccccccccccccccccc::::;;;,,,:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''..''''',,,,,,,,,;;;::::;;;::::ccccccccccccccccc::::;;;;,,,xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''...''''',,,,,,,,;;;;,'..........'',;;:::::::cc::::;;;;,,,,,okkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'....'''',,,,,,,,,,,,.......         ....,;;;;;;;;,,'........ckOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'....''',,,,,,,''....     ..'','...  ..   ..',,,''..        ..coxkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkOk;'....''''.......  .     .',,;;;,,''........  ...      .......;ol;,,:okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkk;........   ........... .....'''''...........        ...'''''.ckkkx:. .'ckkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc;:lo;.. ...................     .......   .........'..   .....''',ddl:,..  .;kkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;..';:;,'...'',,,,,,,,,,'........     ............':cc;.     .....'',;:ll;..xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx:''''';;;,''',,,,,;;;;;;;,,,...','''''''''''''....:lllc;. ..    .'dkkkkxdc.lkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxx:',,;;;,,'''',,,,;;;;:::::;;;,..,;;;;;,,,;;;,...':lllllc;.......',xkkxxxd;:xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxl;,;:;'..,;,'',,,;;;::::cccccc:,.',;;;;:::;'...,:cclllllc:..'''',;dxxxxo,:xkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddd:;;;''';::,''',,,;;;::::ccccccc:;'''.'.......,:ccllllollc:'...',;dxdl,,okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddo;:;,:c::;,''''',,;;;::::::ccccc:::::;;;,''';:ccllloddoolc:;'....,::cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddo;;;::;',,'''''',,;;;;;:::::cccclccccc:;,';:::::;;;:cccc::;,,,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddo:,;;:;''''''''',,;;;;;;;::cclllllllc::,'''.... ..'',,,'',;;;,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddc;;;::,'''''''',;;;;;;;::ccclllllcc:::;'..............';:;;;:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddddddoc:::;'''''''',,;;;;::::ccccccccccc:::;;,,,''''.....',;;;;;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkxxdddddddddddddoc;..''''''',,,;;;:::::ccccccc::::;;,,,,,,,,'',''''',;;;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxkxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxdddddddddddddool,.''''''',,,,,;;:::::::::;;;,,;;;;;;;,,,,,,,,'''''',;:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkxxxxxxxxxxxxxxxxxddddddddddddoooo;,'''''''',,,,;;;;:::::;,,,,,,,;,,'.............'''',:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddodooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooo:,,''''''''',,,,;;;;:;;,,,''.......................',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooc,,''...'''''',,,,,;;;,,'......',,;;;;;;;,,,''.....',lxxxxxxxxxxxxxxxxxxxxxxxdddxxxxddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoool,,,'.......'''''',,,,''''',,,,,,''',,'''''''''....':dxxxxxxxxxxxxxxxxxxddxdddddddddddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoool;,,,'.............''...'',,,,'''..................,oxxxxxxxxxxxxxxxxdxxxxddddddddddddddddddddddddddddddoooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo;,,,'...................'''...''''''.............,oddxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddoooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo;,,,'...................''',,,,,,,,,,,,''''''...,odddddxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddoooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo;,,,,'.................'',,,,,,,,''''','''''''.;oodddddxxxxxxxxdddddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,,,,,''.................'''''''..............':oooddddddxxxxxxdddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxxxxxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddodddc,,,,,,''.....................................:ooooddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddxxxxxxxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddoooooodo,,,,,,,,,'............   ...................;lddooooodddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddxddddddddxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooool;,,,,,,,,,'.............                ...'oddddooooooodddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooool:,,,,,,,,,,,,''.............          .....'',oodddooooooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoool:,,,,,,,,,,,,,,,,,,,'............      .......''''lodddoooooodddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddc:::,......,,,,,,,,,,,,,,,,,,'.......................''''',:coooooooddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoc:,.............,,,,,,,,,;,,,,,,,,''''.................'',,,,,,,,',;;coddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddol:;'.... ..............,,,,,;;;;;;;;;;,,,''''''.........''',,,,,,,,,,,,....,coddoodddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxdddddl;'........... ...............',,,;;;;;;;;;;;;,,,,,,''''''''''',,,,,,,,,,,,,,......',cooooddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxxxxxdddddddddddo:;'..............  ................,;;;;;;;;,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:loddddddddddddddddddddddddddddddooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,'...................  ..................,;;;;;;;;;;;;;;;,,,,,,,,,,,,,;;;;,,,,,,,,,...............,:codddddddddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddooodddddddol,........................   ....................',;;;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,;;;,'....................,:lddddddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddddoc;'..',;cc:;'...........................   .......................',;;;;;;;;;;;;,,,,;;;;;;;;;,,,;;,'.........................';codddddddddddddooooooooooooooooooooooooooooooo
ddddddddddddddddooooooooo:'................................ .......  ...........................';;;::;;;;;;;;;;;::::;;;;;,'................................,:loddddoooooooooooooooooooooooooooooooooooo
oddooooooooooooooooooooo;.......................................... ..............................';::::;::::::::::::;;;,......................................,looooooooooooooooooooooooooooooooooooolo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:,,,'''''''''''''''';okkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooo
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlc;,,,,,,,,,,,,,,,,,,,,'''',cokkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooo
oooodddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,,;;;;;;;;;;;;;;;;;;;;;,,''',cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooooo
oddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:'',,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,:lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl,''',,,,,;;;;;;;;;;;;;;;;;:::::::;;;;;;;;,,;cxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddoooo
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkkkOOOOOOOOOOOOOOOxc''''',,,,,,;;;;;;;;;;::::::::::::::::::;;;;;;;;;lxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkOOOOOOOOOOOOOOOOo,.'''',,,,,,;;;;;;;;:::::::::::::::::::::::::;;;;;;:dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooo
ddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'.'''',,,,,,,;;;;;;::::::::c::::::::::::::::::::;;;;;;dkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''''',,,,,,,,;;;;;:::::::ccc::::::::::::::::::::;;;;;;;dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''''',,,,,,,,,;;;;::::::::::::::::::::::::::::;;;;;;;;,;dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,''''''',,,,,,,;;;;:::::::::::::::::::::cccc:::::;;;;;;,,,ckkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''''',,,,,,,,;;;;::::::::::c:ccccccccccccccc:::::;;;;;,,,okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''''''',,,,,,,;;;;;;::::cccccccccccccccccccccc::::::;;;,,,:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''.''''',,,,,,,,,;;;::;;;;::::ccccccccccccccccc::::;;;;;,,;dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''..''''',,,,,,,,;;;,............',;::::::::cc:::::;;;,,,,,,okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'...'''',,,,,,,,,,'......          ...',,;;;;;;,,'..........ckOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,''..''',,,,,,''...     ..'''''..   ..  ..',,,,'...         ..cldkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkOk,'...'''''.......     ..,,;;;;,''.........          .........ldc;'':okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkk,................... .....''''''..........        ....'''''.'dkkxd,   'okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxlclod:...................  ............  ........''..   ....'''..:dl:,... .,okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd'.',;;,....'',,,,,,,,''.......      ............;cc:,.     .....',,;cloo,.lkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx:'''';;;,'',,,,,,;;;;;,,,...''''''''''''''''...,cllcc,.....   ..,xkkkkxd;:xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx;'',;;,,'''',,,,;;;;;;::;;,..,;;;;;,,,;;;,'...,cllllcc,........';xkkxxxl;dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxc;,;:;'.',,'',,,;;;;:::::cc:,'',;;;;;::;,...';:cllllllc;...'''',;dxxxo:;dkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddo:;:;'.'::,''',,,;;:::::ccccc:;,''.'.......';:ccllloollc:'...',,:doc;;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddl;:;,c::;,''''',;;;;::::::::cc:::::;;;,'',;:clllooooolcc:;,'....'cldxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddl;;;:;,,,''''',,,;;;;;::::ccccccccc::;,,;::::;;;;:ccc::;;,,,,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddl;,;:;'''''''',,;;;;;;;::ccclllllcc:;''....  ...'',''.';;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo:;;;;,''''''',,;;;;;;::cccllllcc:::;,'..............';::;;;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddl:;:;'''''''',,;;;;::::cccccccc:::::;,,,,''''.....',;;;;;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxddddddddddddol:,.''''''',,;;;;::::cccccc::::;;,,,,,,,,,',,,'''',;;;;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxkxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkxxxxxxxxdddddddddddddooc''''''''',,;;;;:::::::;;;,,,;;;;;;;,,,,,,,''''''',;;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkxxxxxxxxxxxxxxxxdddddddddddddoooo,'''''''',,,,;;;;:::;;,,,,,,;;,'..............'''',,:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooo;,'''''''',,,,,,;;;;;,,'''.......................'',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooo:,,'...''''''',,,,;,,''.....'',,;;;;;;;;,,'.......',oxxxxxxxxxxxxxxxxxxxxxxxddddxxxdddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooc,,,'.....''''''',,,''''',,,,,''','''''''''''.....':dxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddodoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoool,,,'............'....''',,'''....................,oxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddool;,,,.......................''''''...............,odddxxxxxxxxxxxxxxddddxxxddddddddddddddddddddddddddddoodoooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo;,,,'.................''',,,,,,,,,,,,''''''....;odddddxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddooooooooooooo
dxxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo;,,,'................'',,,,'''''''',,'''''''.':ooddddddxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooooooo
ddxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddl,,,,''................''''''................'coooddddddxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,,,,''....................................,ldddddddddddxxxxdxxxxddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxxxxdddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooodo,,,,,,,,''..........  .....................:oddddddodddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddxxddddddddxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooooooo;,,,,,,,,''...........                 ....;dddddddddooddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooool:,,,,,,,,,,,''............            .....'',oddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooool:,,,,,,,,,,,,,,,,,,'............      ........''''ldddddooddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl:::;'.....,,,,,,,,,,,,,,,,,'........................''''',ccooooooddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddol:,.............,,,,,,,,,;;;,,,,,'''..................''',,,,,,,,',;;codddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdxxxxdddol:;'..................',,,,,,;;;;;;;;,,,''''''..........''',,,,,,,,,,,,....,coddoddddddddddddddddddddddddddddddddddddddooooooooooooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxddddddl:'........... ...............,,,,;;;;;;;;;;;,,,,,,'''''''''''',,,,,,,,,,,,,,......';cooddddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddxdxdddddddddddddo:;'..............  ................,;;;;;;;;,;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:loddddddddddddddddddddddddddddooooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''..................  ..................,;;;;;;;;;;;;;;;,,,,,,,,,,,,;;;;,,,,,,,,,,...............,:lodddddddddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddooodddddddol,........................   ....................',;,;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,,;;,'....................,:odddddddddddddddddddooooooooooooooooooooooooooooo
ddddddddddddddddddddddddodoc;'..',;cc:;'...........................   .......................',;;;;;;;;;;;,,,,,,;;;;;,;;;,;;;,'.........................';lodddddddddddddooooooooooooooooooooooooooooooo
odddddddddddddddooooooooo:'................................ .......  ...........................';;;:;;;;;;;;;;;;::::;;;;;,'................................,:lodddoodoooooooooooooooooooooooooooooooool
oodooooooooooooooooooooo;.........................................   .............................';::::::::;::::::::;;;,'.....................................,loooooooooooooooooooooooooooooooooooolll
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''''''''''''''''':okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlc;,,,,,,,,,,,,,,,,,,''''',cokkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
oooodddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,;,,;;;;;;;;;;;;;;;;;,,,''',cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
oddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:',,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;,,,,,;lxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl,'',,,,,;;;;;;;;;;;;;;;::::::::;;;;;;;;;,,;cdkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddddooooo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkkkkkkOOOOkkOOOOOOOxc'''',,,,,;;;;;;;;;;;::::::::::::::::::;;;;;;;;;lxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkOOOOOOOOOOOOOOOo,'''',,,,,,;;;;;;;;:::::::::::::::::::::::::;;;;;,:dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoooo
ddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''',,,,,,,;;;;;;:::::::::::::::cccccc:::::::;;;;;;;okkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooo
dddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''''',,,,,,,,;;;;;:::::::::::::::::cc:ccc:::::::;;;;;,;okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''''',,,,,,,;;;;;:::::::::::::::::cc:::::::::;;;;;;;,,;xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'''',,,,,,,,;;;;;;:::::::::::::::::ccccccc:::::;;;;;;,,,ckkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx'''''',,,,,,,;;;;;;::::::::::ccccccccccccccc::::::;;;;,,,,okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''''''',,,,,,,,;;;;:::::::cccccccccccccccccccc:::::;;;;,,,:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''''''',,,,,,,,;;;;;;;;;:::cccccccccccccccccc:::::;;;;,,,;xkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'''''''',,,,,,,,,,'...........',;;::::::::c::::;;;,,,,,'',,dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk'''''''',,,,,,,,'...... .        ....',;;;;;;;,'....     ..'okOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''..''',,,,''...     ...,'.....    .  ..',,,''..           .,:lxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkOx'...'''''.....     ..',;;;,,,'.........          ..........;xdc'.':okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkx'..'............. .....''''''..........         ....'''''..ckkkx:.   :kkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoooxk;................  ............  ........,,'.   .....'''..'ll:,... .;okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko.',;:;....'',,,,''''.......      ............,ccc:.     .......';:codd:.lkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx;''',;;,''',,,,,,,;,,,...',''''''''''''''...,clllc;......   ...;xkkkxd:;xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxd,'',,,,'''',,,,,;;;;;;;'.',;;;;;;,,,;;;,...,:cllllc:.....'''''';xxxxxc;dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx:;,;;,.',,'',,,;;;;::::::,.',;;;;;::;,....;:cclllllc:'..''',,,,:xxxo;:dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo;;;,..;:,''',,,;;::::cccc:;,''.........';:ccllloollcc;....',,,:l:;;oxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddl;:,,::;,'''',,;;;;;::::::::::::;;;,'',;:ccllloooollc:;;,'.....,oxxxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddc:;;:,,,'''',,;;;;;;::::ccccccccc:;,,;;:;;;,,;:ccc::;;;;;,,,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddl;;;;''''''',,,;;;;;;::cccllllcc:;,'...    ..''''...,;::;;,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddo;;;;,''''''',;;;;;;::cccclccc::::;'...............,;:::;;,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddddc;;;''''''',,;;;;::::cccccc::::::;,,,,'''''....',,;;;;;;;:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxxddddddddddddoc;'.''''',,,;;;;:::::cc:::::;;,,,,,,;,,,,,,'''',,;;;;;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxkkxxkxxxkxkkkkkkkkkkxxkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxdddddddddddddooc''''''',,,;;;;::::::;;,,,,;;;;;,,,,,,,,'''''''',;;;:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxkkxxxxxxxxxxxxxxxxdddddddddddddoool,''''''',,,;;;;;;;;,,,,,,,,,'...............'''',,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooo;,''''''',,,,;;;;;,''''........................'',,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooo:,''''''''''',,,,,''......',,;;;;;;;;;,,'.......'',oxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxxddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooo:,,'.....'''''',,''.'',,,,''''''''''''''''......''cdxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxddddddddddddddddddddddoooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooc,,'................''',''''....................':oddxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoool,,,'.....................''''''.....'''........;oddddxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddool,,,'................''',,,,,,,,,,,,,'''''.....:oddddddxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddoooooooooooo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddol,,,'...............''',,,'''''''',,,''''''..'cddddddddxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddoooooooooooooo
ddxxxxxxxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl,,,,'...............'''''..................,ldddddddddxxxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooodd:,,,,''....................................:odddddddddddxxxxxxxxxxxdddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddxxxxxdddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooooooodo,,,,,,'''..........  .....................;dddddddddddddxxxxddddddxdddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooooool;,,,,,,,,'...........                .....':dddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddooooooool:,,,,,,,,,,'''...........           .......'';dddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooolc,,,,,,,,,,,,,,,,,'............       .......'''',ldddddodddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl:::;'.....,,,,,,,,,,,,,,,,''.......................'''''',ccoooooddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddol:;.............',,,,,,,,,,,,,,,,'''..................''',',,,,,,',;:ldddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddxdddol:;'.... .............',,,,,,;;;;;;;;,,''''''...........''',,,,,,,,,,,,....,loddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddxxxxxxxxxxdddddddl:,........... ...............,,,,;;;;;;;;;;;,,,,,'''''''''''',,,,,,,,,,,,,,,'.....';cooddddddddddddddddddddddddddddddddddddoooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ................,;;;;;;;,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,:loddddddddddddddddddddddddddddddooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''..................  ..................,;;;;;;;;;;;;;;,,,,,,,,,,,,,,;;;;,,,,,,,,,...............,:lddddddddddddddddddddddddoooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddoodddddddddl,........................   ....................',,,;;;;;;;;;;;,,,,,,,,,,;;;;;,,,,;;;,'....................,:oddddddddddddddddddoooooooooooooooooooooooooooooo
ddddddddddddddddddddddddodoc;'..',;cc:;'...........................   .......................',;;;;;;;;;;,,,,,,,;;;;;;;;,,;;;,'.........................';lodddddddddddddooooooooooooooooooooooooooooooo
ooodddddddddddooooooooooo:'........................................  ...........................,;;;:;;;;;;;;;;;;;:::;;;;;;'................................,:loddddoooooooooooooooooooooooooooooooooool
oooooooooooooooooooooooo,.........................................    ............................';:::;::::;::::::::;;;,'.....................................,loooooooooooooooooooooooooooooooooooolll
ooooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,'''''''''''''..'';okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
oooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,,,,,,,,,,,,,,,,'''''',cokkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
oooooooddddddddxxxxxxxxxxxxxxxxkkkkxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,,,,;;;;;;;;;;;;;;;,,,,''',cokkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooo
oddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;,,,,,,;cxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooo
ddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkl;',,,,,,;;;;;;;;;;;;;;::::::::;;;;;;;;;,,,cdkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkkkkOkkkOOOOOOOOOOOOOxc''',,,,,,;;;;;;;;;::::::::::::::::::::;;;;;;,,cxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooooo
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkOOOOOOOOOOOOOOOOOo,''',,,,,,,;;;;;;;:::::::::::::::::::::::::;;;;,,;okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''',,,,,,,;;;;;;::::::::::::::ccccccc:::::::;;;;,,;okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
dddxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''',,,,,,,,;;;;;;::::::::::::::ccccccc:::::::;;;;;,,;okkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooo
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''',,,,,,,;;;;;:::::::::::::::::cccc:::::::;;;;;;;,,;dkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO,'''',,,,,,,;;;;;;:::::::::::::::cccccccc::::::;;;;;,,,,ckkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''',,,,,,,;;;;;;:::::::::ccccccccccccccc:::::::;;;;,,,,dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''''',,,,,,;;;;::::::::ccccccccccccccccccc:::::;;;;,,,,ckkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''''''',,,,,,,;;;;;;;;;::::cccccccccccccccc:::::::;;;,,,,;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOkkOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''''',,,,,,,,,'.....  .....',;;::::::::::::;;;,,,'''''',,dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo''.'''',,,,,,,..... ..         ...',,;;;;;,,'...        ..'dkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'''''',,,'....   ...'','....       ..''''''...           ..,:lxkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkko'..''''.....    ..',,;;;,,,'........          ............dxo;..':lxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkkkkkkkkkkkkkkkkkkko..''.......... ......'''''...........  ...   ....''','''.,xkkd;.   ;xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddxkx,............. ...  ........   .......,;;'.    ..........,c;.... 'lxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl',;:c'...'','''''........    .............,clcc;.       ......,codxx:.okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx,'',;;,'',,,,,,,,,,...''''''''''''''''...'clllcc,.............:kkkxd;:xkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx;'',,,,''',,,,,;;;;;'..,;;;;;;,,,;;;,'..,:cclllc:,...'''''''''cxxxd::xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx:,,;;,.'''',,,;;;;::::,'.',;;;;;;;,....;:cclllllcc;...''',,,,,cxdc,cxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo;;;'.';,''',,;;;;::::c::,'''........';:cclloooolcc:,.....'''',,,cdkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddc;;,,:;,''',,,;;;;;::::::::::;;;,,'';:cccllooooolc:;,,,,'..''',dkxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddc;,;;,,'''',,,;;;;;:::cccccccc::;,,;;;;,,,;:::::;;;;;;;;;,,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc,;;,'''''',,,,;;;;::ccclllcc::;'...    ...''....';::::;;,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxddddddddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddddl;;;,'''''',,;;;;;::ccccccc::::;,'..'...........';::::;;;,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddddo:;;,'''''',;;;;;::::cccc:::::;;,,,,,'''''...'',;;:::;;;,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxdddddddddddoc:;'''''',,,;;;::::::::::;;;,,,,,;;;,,,,,,'''',,;;;;;;,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxkkxxxxxxkxkkkxxxxxxxxxkkkxkkkkkkkkkxxxxxxxxxxxxxxxddddddddddddddoo:'''''',,,;;;;;::;;,,,,,;;;;;,,''',,,''''''''',,;;;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxxxkxxxxxxxxxxxxxxxxddddddddddddooooc''''''',,,;;;;;;,,,,,,,,,'...............',,'',,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooool,''''''',,,,;;;,''''........''................',,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooo;'''''''''',,,,,'......'',,;;;;;;;;;,,'.......'',;dxxxxxxxxxxxxxxxxxxxxxxxxddddxxxxdddddddddddddddddddddddoooooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoooo;,'......'''''''..'',,,''''''''''''''''''.....'''ldxxxxxxxxxxxxxxxxxxxxxxxxxddddxxdddddddddddddddddddddddooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo:,''..............''''''......................'':ddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooc,,'....................'''''''...''''........'cdddddxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooooo
dddddxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooc,,'...............''',,,,,,,,,,,,,,''''.....'cdddddddxxxxxxxxxxxxxxxxddxddddddddddddddddddddddddddddddooooooooooooo
ddddddddddxxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoc,,'..............''','''''''''',,'''''''...,lddddddddxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooooooo
ddddddddddxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc,,,''.............''''....................:oddddddddddxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooddd:,,,,''...................................:ddddddddddddxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooooodo,,,,,,''.........  ......................'cdddddddddddddxdddddxxdddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddoooooooooool;,,,,,,,'..........                 .....'':ddddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddoooooooool:,,,,,,,,,,''...........            ......''':dddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddoooool:,,,,,,,,,,,,,,,,''...........       ........'''',odddddodddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoc:::,'.....,,,,,,,,,,,,,,,''........................''''',,clooooddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoc:,.............,,,,,,,,,,,,,,,,'''...................''',,,,,,,,',;:lddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddddddxddxxdddxxxxxxxxxxxxxxxddddddddl:;'.... .............',,,,,,,;;;;;;,,,'''''...........''',,,,,,,,,,,,,....,loddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
dddddddddddddddddddddddddddddddddxddddxxxxxxxdddddddddl:,........... ...............,,,,;;;;;;;;;;,,,,'''''''''''''',,,,,,,,,,,,,,,'.....';coddddddddddddddddddddddddddddddddddddooooooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddoc;'..............  ................,,;;;;;;,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;,..........,:ldddddddddddddddddddddddddddddddooooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''.................   ..................,;;;;;;;;;;;;;;,,,,,,,,,,,,,,;,,,,,,,,,,,,...............,:ldddddddddddddddddddddddddooooooooooooooooooooooooooo
ddddddddddddddddddddddddddddddoooddddddddl,........................   ....................,,,,;;;;;;;;;;,,,,,,,,,,,;;;;;,,,;;;;,'....................;codddddddddddddddddddooooooooooooooooooooooooooooo
dddddddddddddddddddddddoodoc;'..',;cc:;'...........................   .......................,,;;;;;;;;;;;,,,,,,,;;;;,;,,,;;;;'.........................':lodddddddddddddooooooooooooooooooooooooooooooo
ooooddoooddddoooooooooooo:'.......................................   ...........................,;;;;;;;;;;;;;;;;;;:;;;;;;;,................................,:ldddddddoooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooo;..........................................  .............................,;:::;:;;;;;:::::::;;;,'.....................................;ooooooooooooooooooooooooooooooooooooolll
ooooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl,'''''''''''''..'':dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooooo
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,,,,,,,,,,,,,,,''''''',cokkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,,,,,,,,,;;;;;;;;;;;,,,,,''',coxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
oddddddddddddxdxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;,,,,,;cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooo
ddddddddddxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkl;,,,,,,,;;;;;;;;;;;:::::::::::;;;;;;;;,,,:dkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkkOkkkOOOOOOOOOOOOOxc,',,,,,,,;;;;;;;:::::::::::::::::::::;;;;;;,,:dkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooo
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkOOOOOOOOOOOOOOOOOo,'',,,,,,,,;;;;;;:::::::::::::cc:::::::::;;;;,,,;okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooo
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''',,,,,,,;;;;;::::::::::::::ccccccc:::::::;;;;;,,,okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
dddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''',,,,,,,,;;;;;::::::::::::::cccccc:::::::::;;;;;,,;dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''',,,,,,;;;;;;::::::::::::::cccccc:::::::;;;;;;;,,,;xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,''',,,,,,;;;;;;;::::::::::::cccccccccc:::::::;;;;;,,,,ckkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''',,,,,,,;;;;;;::::::::::ccccccccccccccc::::::;;;;,,,,,dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''',,,,,,,;;;;;:::::::ccccccccllllccccccc::::::;;;;,,,,ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,''''',,,,,,,;;;,,,;;;;::::ccccccccccccccc:::::::;;;;,,,,;kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''''',,,,,,,'.....  ......',;;::::::::::;;;,''''.....',,,xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''''''''''.........        ...',,;;;;,,'...          ..,xkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'''',,''...   ....''''....      ...''''....       ......''':lxkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkOl''',,''..    ...',,;;,,''........          .......'''...ckx:. .';okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkl'',........ ...................... ....    ....''',,''..ckkd;.  .:xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkd'..............    .......   ......,::;.      ..........,;'.'..:dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc';:cc...'''''''........................':lcc:.  ... .    ....;oxxd;,dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx,',;;,'',,,,,,,,'..''''',,,,,,'''''...':lllcc:..............'lkkxo;lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx;'',,,'',,,,,,,;;,..,;;;;;,,,,,;,,'..,:cclllcc;...'''''''''',lxxl:cxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx:,,;;'''',,,,;;;::;,..',;;;;;;,'....;:ccllllllc:,...''',,,,,;ll;:oxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo;;;'.,,'',,,;;;::::::;'''........';:cclloooollc:;,'...........:xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddc;;',;,''',,;;;;;:::::::::;;;,,'';::ccclooooolc:;;,;;,,,,,,,,,oxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddc;,;,,'''',,,;;;;;:::ccccccc:;,,,;,,''',;:::;;,;;;;;;;;;,,,,;dxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;;,''''',,,,;;;;::ccccccc::;,...    ..........,;:::::;;,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdxddddddddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddddddc;;;,'''',,,,;;;:::ccccc::::;,'..''..........',;:::::;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxddddddddddl:;,''''',,;;;;;:::ccc:::::;;,,,,'''''''..'',,;;::::;;;,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkxxxxkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxddddddddddddo:;,''''',,;;;;:::::::;;;,,,,,,;;;;,,,,,,'''',,;;;;;;;;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxkxxxxxxkxkkkxxxxxxxxkkkkxkkkkkkkkxxxxxxxxxxxxxxxxddddddddddddddol,'''',,,;;;;;;;;,,,,,,;;;,,''''',,''''',,''',;;;;;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddooooo:''''',,,;;;;;,,''',,,'.................',''',,,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooooc''''''',,,,;,,'''........'''...............'',,,,oxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxxdddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooool,'''''''',,,,''....'''',;;;;;;;;;;,,'.......'',,:dxxxxxxxxxxxxxxxxxxxxxxxxxddddxxxxdddddddddddddddddddddddoooooooooo
xxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoool,''.....''''''.''','''''''''...''''''''''...''',oddxxxxxxxxxxxxxxxxxxxxxxxxdddddxxdddddddddddddddddddddddooooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoooo;,'.............''''''.......................',lddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo:,'..................'''''''''''''''.........'lddddddxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddddddddddoooooooooooo
dddddxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo:,,'.............'',,,,,,,,,,,,,,,,''''.....,lddddddddxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoc,,'............''''''''''''''',''''''''...:odddddddddxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddoooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc,,''.............'..................'....:dddddddddddxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooodddd:,,,''...................................'lddddddddddddxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooooooodo,,,,,'''........ .......................''ldddddddddddddddddddxxxxddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddoooooooooool;,,,',,,'........                 ......'''ldddddddddddddddddxxdxdxdddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddooooooooool:,,,,,,,,,''..........            ........'''cdddddddddddddddddxddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooool:,,,,,,,,,,,,,,,,'...........       .........'''';odddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddol:::;'.....,,,,,,,,,,,,,,,''.......................''''',,,clododdddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddol:;.............,,,,,,,,,,,,,,,,''...................'''',,,,,,,,',;:lddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxdddddddddl:;'.... .............',,,,,,,;;;;;,,,'''''............''',,,,,,,,,,,,,....,loddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddxddddddddddddddl:,........... ...............,,,,;;;;;;;;;,,,,''''''''''''''',,,,,,,,,,,,,,,'.....';codddddddddddddddddddddddddddddddddddddddoooooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddoc;'..............  ...............',,;;;;;,,;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;,..........,:lddddddddddddddddddddddddddddddddoooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddol:;,,'.................   .................',;;;;;;;;;;;;;;,,,,,,,,,,,,,,;;,,,,,,,,,,,..............';:ldddddddddddddddddddddddooooooooooooooooooooooooooooo
oddddodddddddoododddddddddddoddodddddddddl,........................   ....................,;,,;;;;;;;;;,,,,,,,,,,,,;;;;;,,,,;;;,'....................;coddddddddddddddddddoooooooooooooooooooooooooooooo
oooddddddddddoodddddooooodoc;,''',:cc:;,...........................   ......................',,;;;;;;;;;;,,,,,,,,;;;;,;,,,;;;;'.........................':lddddddddddddddooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooo:'.......................................   ..........................',;;;:;;;;;;;;;;;;;;:;;;;;;;,................................;cldddddodooooooooooooooooooooooooooooooooll
oooooooooooooooooooooooo;.........................................   .............................,;:::;;;;;;;:::::::;;;;'.....................................;ooooooooooooooooooooooooooooooooooooolll
oooooooddddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:'''''''''''..'''';okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooo
oooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,,,,,,,,,,,,,,,'''''',coxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
ooooooodddddddddxxxxxxxxxxxxxxxkxxxkxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:;,,,,,,;;;;;;;;;;;;;,,,,,,,,,:oxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooo
odddddddddddddxddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,,;;;;;;;;;;;;;;;;;;;;;;;,,,,,,cdkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooo
dddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,,,,,,,;;;;;;;;;:::::::::::::;;;;;;;,,,:okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkkkkkOkkkkOOOOOOOOkkOkkc,,,,,,,,,;;;;;::::::::::::::::::::::;;;;;,,,:dkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooooo
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkOOOOOOOOOOOOOOOOOo,',,,,,,,,;;;;;:::::::::::ccccc:::::::::;;;;,,,,lkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxddddddddddddddddddddoooo
ddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'',,,,,,,;;;;;::::::::::::cccccccc::::::::;;;;;,,,lkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
dddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo'',,,,,,,;;;;;:::::::::::::cccccccc::::::::;;;;;,,,,okkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooo
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:',,,,,,,,;;;;;::::::::::::::ccccccc::::::::;;;;;;,,,;dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,,,,,,,,,;;;;;;:::::::::::cccccccccccc:::::::;;;;;,,,,:xkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl',,,,,,,,;;;;;::::::::::ccccccccccccccccc:::::;;;;;,,,,lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;',,'',,,,,,;;;::::::::cccccccllllllcccccc:::::;;;;;,,,,:kkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'''''''',,,,;,,,,,,;;::::cccccccccccccc::::::::;;;,,,,,,,xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl'''',,',,,,'...     .....',;;:::::::::;;,,'..........',,,dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''''''''... .......       ...,,,;;;,,''..           ..',dkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''','...   ....'''''....      ..........      .........,.';ldkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkO:'',,'.    ....',,,,,,''........         ......''''''..;xxl.  ..lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkc,,...... ...................... .....   ........'''''.,dko;.  'okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl.............      .............':c:;.        .........,'',..lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc,:cl, .'''''........................':llcc;. .......... ...'oxkd,:xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx,',;,,',,,,,,'..'''',,,,,,,,'''''...;clllcc,..............',okxc;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxx:'',,,',,,,,,,,..',;;;,,,,,,;;,'..';ccllllcc,...'''',,,''',;od:,okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxc,,;,''',,,,;;;;;'..',,;;;;,'....,::ccllllllc;'...'',,,,,,,,;''okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddo;;;'.,'',,,;;;::::;,''....'''..,:ccclodooolc:;,,'..........',;xkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdddddc;;';;''',,,;;;;:::::::;;;;,,,,:::::clooollc::;,,;;;;;;;,,,,,lxkkxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddc;,;,''',,,,;;;;:::cccccc::;,,,'...',;;:;;,,,;;;::;;;;;;,,,,dxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddc;;''''',,,,,;;;::cccccc::,'..    .......  ..;::::::;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxddddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddc;;,'''',,,,;;;::cccc:::::;,'''''..........';:::::::;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxxxdddddddddddl;;''''',,;;;;::::::::::;;,,,,,,'''''''''',;;::::::;;,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxddddddddddddl;,'''',,,;;;;:::::;;;,,,,,,;;;;,,,,,,,''',,,;;;;;;;;,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxkkkkkxxxxxxxxxxxxxxxxdddddddddddddoo;'''',,;;;;;;;,,,,,,,;;,''''''''''''',,,,'',;;;;;,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooc''''',,,,;;,,'''''''..................','''',,,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooo;'''''',,,,,'''.......'',,''..............'',,,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooc'''''''',,,'....'''',,;;;;;;;;;,,,'.......'',,,:ddxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxddddddddddddddddddddddddooooooooo
xdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooool,'.....''''..''''''''.............'''''...'''';odddxxxxxxxxxxxxxxxxxxxxxxxddddddxxddddddddddddddddddddddddoooooooooo
dddxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooo,''...........'''''.........................',odddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooooo
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoo;,'................''''''''''''''''.........;oddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooooooooooo
ddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo;,'............'''',,,,,,,,,,,,,,''''......;oddddddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo:,'...........''''''''''''''''''''''''....:ddddddddddxxxxxxxxxxxxxxxxxdddddxdddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:,,''....................................'ldddddddddddxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooodddd;,,,'....................................'oddddddddddddxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddoooooooooooodo,,,,,''.................................''odddddddddddddxxdxxxxxxxxxxddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddooooooooooool;,,,',,'.........                .......'''lddddddddddddddddxxxxxdxxxdddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooooool:,,,,,,,,''..........            ........''''ldddddddddddddddddxxxddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxdddddddddddooooool:,,,,,,,,,,,,,,,''..........       .........''''';oddddddddddddddddxddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddol:::,......',,,,,,,,,,,,,''........................''',,,,;clddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxddddxxxxxxxxxxxxxxxxxdddddddddddoc:,.............,,,,,,,,,,,,,,,'''...................'',,,,,,,,,,',;:ldddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddxxxxxxxdddxxxddddddddol:;'.... .............',,,,,,,,,;;;,,,'''''...........'''',,,,,,,,,,,,,....,loddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddxdddddddddddddl:,........... ...............,,,,;;;;;;;;;,,,,''''''''''''''',,,,,,,,,,,,,;,'.....';codddddddddddddddddddddddddddddddddddodddddoooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ...............',,;;;;;,,;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;,..........,clddddddddddddddddddddddddddddddddoooooooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''.................   .................',;;;;;;;;;;;;;,,,,,,,,,,,,,,,;;,,,,,,,,,;,..............';:lddddddddddddddddddddddddoooooooooooooooooooooooooooo
dddddoodddddooooooooodddddddodoodddddddddl,........................   ....................,,,,;;;;;;;;;,,,,,,,,,,,,;;;;,,,,;;;;,'....................;codddddddddddddddddooooooooooooooooooooooooooooooo
ooddddddddddooooooooooooodoc;'..',;cc:;'..........................    ......................',,;;;;;;;;;;,,,,,,,;;;;,;;;,,;;;;'.........................':lddddddddddddddooooooooooooooooooooooooooooooo
ooooodooooooooooooooooooo:'.......................................   ..........................',;;::;;;;;;;;;;;;;;:;;;;;;;,'...............................;coddddddddooooooooooooooooooooooooooooooool
oooooooooooooooooooooooo,.........................................   .............................;;:::;;;;;;;;::::::;;;;'.....................................;ooooooooooooooooooooooooooooooooooooolll
oooooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'.''''''''.....',lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
oooooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,,,,,,,,,,,,,'''''''',:oxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl;,,,,,,,,,,;;;;;;;,,,,,,',,,,;lxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
oddddddddddddddddxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,,,;;;;;;;;;;;;;;;;;;;;;,,,,,,cdkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc;,,,,,,,;;;;;;;;;;::::::::::;;;;;;;;,,,;okkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkc,,,,,,,,,;;;;;;::::::::::::::::::::;;;;,,,,:dkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooo
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkkOOkOOOOOOOOOd,,,,,,,,,;;;;;:::::::::::ccc::::::::::;;;;;,,,,lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooo
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl',,,,,,,,;;;;;:::::::::::ccccccc:::::::::;;;;,,,,lkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
dddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo',,,,,,,,;;;;::::::;::::::cccccc::::::::::;;;;;,,,,ckkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;,,,,,,,,,;;;;;;:::::::::::cccccc:::::::::;;;;;;,,,,,lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,''',,,,,;;;;;;:::::::::cccccccccc:::::::::;;;;,,,,,,dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:,,''',,,,,;;;;;;:::::::ccccccccccccccc::::::;;;;;,,,,,:kkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,,'''',,,,,;;;:::::::ccccccllllcllcccccc:::::;;;;;,,,,,,dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''''''',,,,,,,,,,;;;::::cccccccccccc:::::::;;;;,,,,,,,,,okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:''''''','...     ......',;;;:::::::;;;,'...........'''',lkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'''''''...  ......       ..',,,,;,,,'...            ..',lkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;'''..    ....'''''....      ..........   ............,'..;ldkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkk;,;'.   .....'',,,,''........          .....'',''''...lkl.   .lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkc,....  ............................  .    .......''..;xo;. .;dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,...........     ..''..........;cc:'. ..     .........'',;..lkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl:clo..'''.........................;clcc:'.................,dko,:xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxx;,;;,''''''...''''',,,,,,'''''...;cclllc:'...''''''''''''',dd:',ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxl'',,,',,,,,'..',;,,,,,,,,,,'...;:ccllllc:'..'''',,,,,,,,,;c,.',dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxl'',,'',,,,;;;,...',,,,,,'....';:ccllolllc:,....'',,,,,,,'..',':kkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddd;;;'',',,,;;;;:;;,''..'''''.,;:ccloddoollc:,,,,.........',,,,,lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxdddddl;;';,',,,,;;;;;::::;;;;;,,,;:::::clllllc::;,,,;;;;;;;;;,,,,,cxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddc;,,,'',,,,,;;;:::cccc::;,,'.....',;;;,''',,;::::::;;;;,,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddddddddc;,'''',,,,,;;:::cccc::;,.............   .';::c::::;;;,,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxdddddddddddddddddddddo
xxxxxxkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkxxdddddddddc;,'''',,,,;;::ccc:::::;;'''''..........',;:::::::;;,,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxkkkkkkkxkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxdddddddddddc;,''',,,;;;;::::::::;;,,''','''''''''',,;;::::::;;;,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkxxxxxxxxkkkkxxxxkkkkkxxxxxxxxxxxxxxxddddddddddddc,'''',,,;;;;:::;;,,,,,,,,;,,,,,,,,,,'',,,,;;;;;;;;,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxddddddddddddooo:'''',,;;;;;;,,'',,,,,''..''''''..'',,,,',,;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoool,'''',,,,,,'''''''...................',''',,;;,,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooc''''',,,,,'.........',;,''''''..........'',,,,,,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoooo;'''''',,''....'''',,,;;;;;;;;,,,''......'',,,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxdddxxxxxddddddddddddddddddddddddooooooooo
xdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooooc'.....''...'''''''..............'''''...''''';oddddxxxxxxxxxxxxxxxxxxxxxxxxddddxxxxddddddddddddddddddddddooooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooool,'..........'''............................';oddddddxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooo
dddddddxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooo,'...............'''''''''''',,''..........;ddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;''..........'''''',,,,,,,,,,,,,''''......;odddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo;,'..........'''''''''''''''''''''''.....'lddddddddddxxxxxxxxxxxxxxxxxddddxxdddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd;,''.............................'.......'oddddddddddxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddooooooooddd,,,''...................................',odddddddddddxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooooooool,','''........   ......................'',ddddddddddddddxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooooooool;,',,'''........                ........'''oddddddddddddddddxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooooooool:,,,,,,,,''.........             ........''''lddddddddddddddddxxxxddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooooool:,,,,,'',,,,,,'''.........       ...........'''',;oddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
dddddddddddddddddddddddddddxxxxxdxddxxxxxxxxxxxxxxxxxdddddddddddddddol:::,......',,,,,,,,,,,,,'.........................'',,,,,;cldddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddxdxxxddddddddxxxxxxxxxxxxdxxddddddddddddoc:;.............',,,,,,,,,,,,,''....................'',,,,,,,,,,,';::ldddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddxxxxdddddddddddddddddol:;'.... .............',,,,,,,,,,,,,,'''''...........'''',,,,,,,,,,,,,,....,ldddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,........... ...............,,,,,;,,;;;;,,,,'''''''''''''''',,,,,,,,,,,,;;,'.....';cdddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ...............',,;;,;;,,;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;,..........;codddddddddddddddddddddddddddddddddddddooooooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddoc:;,''.................   .................',;,;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,;;,..............';coddddddddddddddddddddddddoooooooooooooooooooooooooooo
ooddddoddoooooooooooooddddddoooodddddddddl,........................   ...................',;,,;;;;;;;;,,,,,,,,,,,,,;;;;,,,,;;;;;'...................';coddddddddddddddddddoooooooooooooooooooooooooooooo
oooooddddoooooooooooooooodoc;,'.',:cc:;,...........................    .....................',,;;;;;;;;;,,,,,,,,,;;;,;;,,,;;;;'.........................':lddddddddddddddooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooo:'.......................................    .........................',;;:;;;;;;;;;;;;;;;;;;;;;;;,'..............................';codddddddddoooooooooooooooooooooooooooooool
oooooooooooooooooooooooo;.........................................    ............................;::::;;;;;;;;;:::::;;;;'.....................................;ooooooooooooooooooooooooooooooooooooollo
ooooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;'.'''''''.......,cdkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooo
ooooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,,'',,,,,,,,''''''''';ldkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooo
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:;,,,,,,,,,;;;;;;;,,,,,,,,,,,;cdkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooo
ddoddddddddddddddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,,,,,,,;;;;;;;;;;;;;;;;;;;,,,,,,,:okkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooo
oddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,,,;;;;;;;;;;;:::::::::;;;;;;;;,,,;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxdddddddddddddddddddddddddooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,,,,,,,,;;;;;;;::::::::::::::::::;;;;;,,,,,lkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooooo
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkkkkkOOOOOOOOOd,,,,,,,,;;;;;::::::::::ccccc::::::::;;;;;,,,,,:xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,,,,,,;;;;:::::;:::::cccccc::::::::::;;;;;,,,,;dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
dddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,,,,,,;;;;;:::;;;;::::cccccc:::::::::::;;;;,,,,,;dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,,'',,,,,;;;;;;;;::::::::ccccccc:::::::::;;;;;;,,,,,;xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,',,,,,,;;;;;;;::::::ccccccccccccc:::::::;;;;;,,,,,,ckkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,,'',,,,,,;;;;;;:::::cccccccccccccccccc:::::;;;;;,,,,,,dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,''',,,,;;;;;:::::::cccclllllllcccccc::::::;;;;;,,,,,,lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''''',,,,'',,,;;;::::cccccccccccc:::::;;;;;,,,,,,,,,,,:kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,'''''''...     ......',,;;::::::;;;,'........   ..',''';kkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx''''''..  ......        ..',,,,,,,'...              ..'',xkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,...    ....''''......     .........  .......'.......'. .,cokkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkk:'    ....'''','''........          .....''',,'''''.'oo'   .lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkOOOkkkkkkkkkkkkkkkkkkkkkkkd,... .......    ....   .... ..'...  .      ........''cd;. .;xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:..........     .',,'........,:cc:. ...     ..... .....,,..'xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoccoc..'....'...................':cccc:..................',dl.;xdxkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxd;,,,'''''..'''''''',,,,,''''..':cclllc;....'''''''''''''';l,.;;;;xkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxo'',,',,,,'..,,,,,,,,,,,,,...,::ccllllc;...',,,,,,,,,,,,,''',,'.lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxo,',,',,,,;,'...',,,,''.....,::clllllllc;'....'',,,,,,'..',,,,.'dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddd:,;'',,,,;;;;;;,'''''',''';:ccloddooolcc:,',,'.......',;,,,,,';xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxdddddo;,,,',,,,,;;;;;:;;;;;;,,;;;;;;:clllcc:::;,,;;;;;;;;;;;;,,,,;:dkxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddl;,,'',,,,,;;::::::c::;,'......',,,,'..',,;:::::::;;;;,,,,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;,'',,,,,,;:::ccc:::;,.............  ..';:cccc:::;;,,,,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkxxddddddddddc;,''',,,,;;:::::::;;;,''''''........',,;::::::::;;,,,,;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxkkkkkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxdddddddddddc;''',,,;;;::::::;;;,,,'',,,''''''''',,;;:::::::;;;,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxddddddddddddo:'''',,;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,;;;:;;;;;;,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoool''',,,;;;;,,''',,,,'.....''''....',,,,,,,;;;;;;;,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooo;''',,,,,,''''''....................'''''',;;;,,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoool,'''',,,''........',;;;,,'''''.........'',,,,,,,:ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooooc'''''''''....'''',,,;;;;;;;;,,,''......'',,,,',odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooooooo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooo:'.........'''''...............''''''..'''''',odddddxxxxxxxxxxxxxxxxxxxxxxxxddddxxxdddddddddddddddddddddddooooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooool'..........'.....................'........';oddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoool,'.............'''''''''''',,'''..........;oddddddddxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo,'.........''''''',,,,,,,,,,,,,'''.......'ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo;,'........'''''..'..'''''''''''''.......'odddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo,,'.....................................',dddddddddddxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooooooddo,,''....................................',ddddddddddddxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooooooooool,'''''.......   .......................'',ddddddddddddddxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooooooool;,'''''........                ........''',ddddddddddddddddxxxxxxxxxddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooooooool:,,,,,,,''........             .........'''',odddddddddddddddxxxxdddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddddddddddddddddddddddddddxxdddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooooool:,',,,'',,,,,''''........        ..........'''''';odddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxdddddddddddddddool:::,......',,'',,,,,,,,''........................'',,,,,,;llddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddxxxxxxxxxxddddddddddddddddoc:,.............',,,,,,,,,,,,,''....................'',,,,,,,,,,,';:cldddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddol:;'.... .............',,,,,,,,,,,,,,''..............'''',,,,,,,,,,,,,,....,lddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  ..............,,,,,,,,;;;;,,,,''''''..''''''',,,,,,,,,,,,,,;,'.....':ldddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddoddddddddddddddddddddddddddddddddddddddddddddddoc;'..............  ...............',,;;,,;';;;;,,,,,,,,',,,,,,,,,,,,,,,,,,,,;;;,..........;codddddddddddddddddddddddddddddddddddddooooooooooooooooooo
oddoooddddddddoooddddddddddddddddddddddddddoc:;,''.................   .................',;,,;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,;;;,..............';coddddddddddddddddddddddddoooooooooooooooooooooooooooo
oddooooooooooooooooooooooddddooodddddddddl;........................   ...................',,,,;;;;;;;;,,,,,,,,,,,,,;;;,,,,,;;;;;'...................';codddddddddddddddddooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooodoc;,..',;cc:;,................... ......     .....................',,;;;;;;;;;,,,,,,,,,;;;,;;,,;;;;;'.........................,:lddddddddddddddooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooo:'................................ ......    .........................',;;::;;;;;;;;;;;;;;;;;;;;;;,'..............................';coddddddddooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooo;.................................. ......    ...........................';::::;;;;;;;;:::::;;;;;'.....................................:oooooooooooooooooooooooooooooooooooolllo
ooooooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,'''''''........':dkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooool
oooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,',,,,,,,,'''''''''';coxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
oooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,,,,,,,,,;;;;;;,,,,,,,,,,,,,:okkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxdddddddddddddddddddddddoooo
oddddddddddddddddxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,;;;;;;;;;;;;;;;;;;;;;;;,,,,,;cdkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
ddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;,,,,,,;;;;;;;;;;;:::::::::;;;;;;;,,,,,:okkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;,,,,,,,;;;;;;;:::::::::::::::::;;;;;;,,,,,;dkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooo
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkkkkkOOOOOOOOOOOl,,,,,,,;;;;;:::::::::ccccc::::::::;;;;;;;,,,,,okkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkkOOOOOOOOOkc,,,,,,,;;;;;;;;;:::::cccccc:::::::::::;;;;,,,,,,:xkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,,,,;;;;;;;;;;;::::::cccc:::::::::::::;;;,,,,,,:kkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,,,,;;;;;;;;;:::::::cccccc:::::::::::;;;;;,,,,,,ckkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;,',,,,,,;;;;;;;::::::cccccccccccc::::::::;;;;;;,,,'',dkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,',,,,,;;;;;;;:::::ccccccccccccccccc:::::;;;;;,,,,,''ckkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,''',,,,;;;;;:::::ccccccclllllccccccc::::::;;;;;,,,,,,,xkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,,'''',,,'',,,;;;::::ccccccccccc:::::;;;;,,,,'',,,,,,'',okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,'''''...     ......',,;;;::::;;;,'.....       ...''''',lkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd''''..  ......       ...',,,,,,,'...       ...    ...'',:kkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkc..   .....',''.......    ........  ........,''.......  ..cxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkkkkkkkkkkkkkkx,   .c,...''''''.........         .........'''''''..;o'   .okkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkkkkkkkkkkkkkkkkko... ;o'....    ....    .....'''.  ..       .........'o: ...dkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc.....'...     ..,,'........;ccc;. ....    .''..  .....'...,kkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxllo,.'.'''...........''......;ccccc;...................',,.',dxodkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxx:,,,'''..''''''''''''''''...,:ccclcc;...'''''',''''''',,'.',,:;,,dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxx,',,,,'...,,,,,,,,,,,,'...;:ccllllcc;...',,,,,,,,,,,,'..',,,,'.:kkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdd;',,,,,,,'...''',''.....';:ccllllllcc;'.....'',,,,'...,,,,,,,'.lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddc,;,,,,,;;;;,'''''',,''';::clodooollc:;,',,,''..'',;;;;;,,,,;,,dkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxkxxxdddddo;;,',,,,,;;;;;;;;;;;,,;;;;;:cccccc::::;,;;;;;;;;;;;;;;;,,,,;;okxxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddl;,'',,,,,;;::::::::;'......'',,,....',,;:cc:::::;;;;;,,,,,;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddddddc;,',,,,,;;::::::::;'.................,;:ccccc::;;;;,,,,,;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxxddddddddddc;'',,,,;;:::::::;;;,'''''''.....''',;;::cc:::::;;;,,,,;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddo
xxxxxxxxkkxxxxkkkkkkkkkkkkkkkkxxxxkxkkkkkkkxxkxkkxkkxxxxxxxxxxxxxxddddddddddddc,'',,,;;;::::;;;,,,''',,,'',,,,'',,;;;:::::::;;;;,,',oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkkxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddo;'',,,;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,;;:::;;;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooo,'',,,,,;,'''',,,'.......''.....',;,,,,,;;;;;;;;,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooc''',,,,,'''''.....................''''',,;;;;,,,,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooo,'''',,''........',;;;;,,,,,''........''',,,,,,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoool,'''''''....''''',,;;;;;;;,,,,''''....',,,,,'',lddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoooc'.......'''''................''''''...'''''',lddddddxxxxxxxxxxxxxxxxxxxxxxxxdddxxxxddddddddddddddddddddddddoooooooooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoooo:...........................''.............,odddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddool'............''''''''''',,,''''..........'cddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo,'........'''''',,,,,;,,,,,,,,'''........'odddddddddxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo,'........''.......''''''''''''''.......',odddddddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddodddddo,''..........................''.........',dddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooooooddo,'''...................................'';dddddddddddxxxxxxxxxxxxxxxdddxxdddddddddddddddddddddddddddddoooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooooooooodl,''''......    ....... ...............''';dddddddddddddxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddoooooooooooooool;,'''''.......               ..........''',ddddddddddddddddxxxxxxxxxddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddooooooooooooool:,,,',,,''........            ..........'''',odddddddddddddddxxxddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddxxxdddddxxxxxxxxxxxxxxxxxxxxddddddddddddooooooooool:,,,,,'',,,,''''.........       ...........''',,,;oddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxdddddddddddddooooc:::;'.....',''',,,,,,,'''........................',,,,,,,;llddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddxxxxxxxxxdddddddddddddddddol:;.............',',,,,,,,,,,'''....................',,,,,,,,,,,,';:codddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddl:;'.... .............',,,,,,,,,,,,,'''''............''',,,,,,,,,,,,,,,....;lddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  ..............,,,,,,,,,,;,,,,''''''.....'''',,,,,,,,,,,,,,;;;'.....':ldddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dddoddddddddddddddddddddddddddddddddddddddddddddddoc;,..............  ...............',,;;;;,';;;;,,,,,,,,',,,,,,,,,,,,,,,,,,,,;;;,.........';codddddddddddddddddddddddddddddddddddddddooooooooooooooooo
oooooddodddddooooddddddddddddddddddddddddddol:;,,'.................   .................',,,;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,;;;,..............';coddddddddddddddddddddddddoooddddooooooooooooooooooooo
oodooooooooooooooooooooodddddooodddddddddl;........................   ...................',,,;;;;;;;;;,,,,,,,,,,,,;;;;;,,,;;;;;;'...................';coddddddddddddddddddoooooooooooooooooooooooooooooo
ooooooooooooooooooooooooodol;,''',:clc;,...........................   ......................',;;;;;;;;;;;,,,,,,,,;;;,;;,,;;;;;,.........................,:odddddddddddddoooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooc'................................ ......    .........................';;;::;;;;;;;;;;;;;;;;;;;;;;,'..............................';coddddddddooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooo;.........................................    ...........................';::::::;;;;;;:::::;;;;;,....................................':oooooooooooooooooooooooooooooooooooooooo
ooooooooddddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;.'''''..........;lkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooc
oooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdc;,',,,,,,,''''''''''',:ldkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooool
oooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc,,,,,,,,,;;;;;;,,,,,,,,,,,,,;lxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooo
ooddddddddddddddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,,,,,,,;;;;;;;;;;;;;;;;;;;;,,,,,,:oxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
dddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,,,,,,;;;;;;;;;;;::::::::;;;;;;;;,,,,,,cdkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
dddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,,,,,,;;;;;;;;;::::::::::::::::;;;;;;,,,,,,cxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkkkOOOOOOOOOx;,,,,,,;;;;;::::::::ccccc::::::::::;;;;;,,,,,,,okkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkkkOkOOOOOOOOx;,,,,,,;;;;;;;;;::::cccccc::::::::::::;;;;,,,,,,'lkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
dddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;,,,,,,;;;;;;;;;;::::ccccc::::::::::::::;;;;,,,,,''lkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,,,,;;;;;;;;:::::::cccccc::::::::::::;;;;;,,,,'',dkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,,,,,;;;;;;::::::ccccccccccccc::::::::;;;;;,,,,''':kkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,,,,;;;;;;::::ccccccccccccccccc:::::::;;;;;,,,,,,,,dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,'',,,,;;;;;;:::::ccccccclllccccccccc::::::;;;;;,,,,',,ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,'''',,''',,;;;:::::ccccccccc:::::;;,,,,'''''',,,,,'''';kkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,''''..     ......',,;;;;;;;;;,,.....         ..''''''',xkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl''...  .....       ...',,,,,,'...       .....   ....''''lkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkl;.  ......''''.......        ...  .......'',,'.......   ..ckkkkkOkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkkkkkkkkkkkkx,   .oo'..''''''........          ..........'''''''.''.   .lkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkkkkk:', 'dl....     ...    .. ..,,'. ...       ..........',....:kkOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl.,.','...     .,;,.......':cc:,.......   .'''.. ..........,kkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoo:..,o,...................:ccccc,...................'...'''ckdloxkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxc,,,'.,,,''''''''''''''...;ccclcc:,...''''',,,,,,''','..',,,;;;,'lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxx:',,'...,,,,,,,,,,,,...';:cllllcc:,...,,,,,,,;;,,,,'.',,,,,,,'.,kkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddc'',,,,....'''''......,;:cloollllc:;'......'''''...',;;,,,,,,'';kkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxddddo,,,,,,;;;,''''',,,'',::cloddooolcc:;'',;;,''',,;;;;;;;,,,,,;,,lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxdddddd:;,,,,,,;;;;;;;;;;;,;;,,;:cccc:::::;;,;;;;::::;;;;;;;;,,,,,;;cxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddo;,,,,,,,;;:::::::;'..  ..'','.....',;::cccc::::;;;;;;,,',,;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddddc,',,,,,;:::::::;;'................',::ccccc:::;;;;;,,'',;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkxxxxxxxxddddddddddl,',,,,;::::::;;;,''''''''....''',,;:::cccc:::;;;;,,,',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkxkkxxxxxkkkkkxxkxkkxxxxxxxxxxxxxxxxxdddddddddddd:',,,,;;;:::;;;,,''',,,,'',,,,,,,,;;:::::::::;;;;,,',;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxddddddddddddoo,',,,;;;;;,,''',,,,,,,,,,,,,,,,,,,,,,;;::::;;;;;,,',cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoo:'',,,,,,'''',,,...............',;;,,,,;;;;;;;;,,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddool''',,,,''''......................'''''',;;;;;,,,,:ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoo:'''',''........',;;;;;;,,,''........''',,,,,,,,,odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddooo,'''''.....''''',,,,,,,,,,,,'''''''..',,,,,,'',ldddddxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxdddddddddddddddddddddddoooooooooo
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddool,.......''''................'''''''.'''''''''lddddddxxxxxxxxxxxxxxxxxxxxxxxxddddxxxxxdddddddddddddddddddddddoooooooooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoool'.......................'''''.'''........''cddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddxxdddddddddddddddddddddddooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooc...........''',,,,,'',,,,,''''..........''lddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddl,.......''''''',,,,;;,,,,,,,'''.........',oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddl,'................'''''''''''''.........',ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddl,''.......................'''...........';ddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoooooooodddl,''....................................'';dddddddddddxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddoooooooooooooodc'''''.....       .....................''';ddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooooooooool;,''''.......               ..........'''';ddddddddddddddxxxxxxxxxxxxxddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooooooooool:,,,,,,''........            ..........''''',oddddddddddddddxxxxddxxxxxdddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddddxxxdddxxxxxxxxxxxxxxxxxxxxxdddddddddddddooooooooool:,',,''',,,,''''.......       ............'''',,,;oddddddddddddddddddddddxxdddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxdddddddddddddddooooc:::;......'''',,,,,,,'''........................'',,,,,,,;loddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddxxxxxddddddddddddddddddddooc:,.............',',,,,,,,,,''''...................'',,,,,,,,,,,,';:coddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddl:;'.... .............'',,,,,,,,,,,,'''.............'''',,,,,,,,,,,,,,,....;lddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddo:,...........  ..............',,,,,,,,,,,,,,''''''....''''',,,,,,,,,,,,,;;;;'.....':ldddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddooddddddddddddddddddddddddddddddddddddddddddddddoc;'..............  ...............',,;;,;,,;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,.........';codddddddddddddddddddddddddddddddddddddooooooooooooooooooo
oooooddooodddooddddddddddddddddddddddddddddol:;,,'.................   .................',;,;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,..............';codddddddddddddddddddddddoooddddddoooooooooooooooooooo
dooodoooooooooooooooddoooodddooooddddddddl;........................    ..................',,,;;;;;;;;;,,,,,,,,,,,,,;;;;,,,;;;;;;'...................';coddddddddddddddddddoooooooooooooooooooooooooooooo
ooooooooooooooooooooooooodol;,''',:cl:;,...........................   ......................',;;;;;;;;;;,,,,,,,,,;;;,;;;,;;;;;,.........................,:lddddddddddddddooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooo:'................................ ......    .........................';;;::;;;;;;;;;;;;;;;;;;;;;;,'..............................';codddddddddoooooooooooooooooooooooooooooooo
oooooooooooooooooooooooo;................................... .....   ............................';::::;;;;;;;;:::::;;;;;,.....................................:oooooooooooooooooooooooooooooooooooooooo
ooooooodddddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:''''''..........'cxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooo:
oooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,,,,,,,''''''''''''',;cokkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooc
oooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl;,,,,,,,,;;;;,,,,,,,,,,,,,,,,coxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddool
ooddddddddddddddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,,;;;;;;;;;;;;;;;;;;;;,,,,,,,;cdkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ddddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,,,,,,;;;;;;;;;;;::::::::;;;;;;;,,,,,,,;lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooo
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,,,,,,;;;;;;;;::::::::::::::::;;;;;,,,,,,,,,lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooo
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkOOOOOOOOOOk:,,,,,,;;;;;:::::::ccccc:::::::::::;;;;,,,,,,,',dkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
ddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkOOOOOOOOOOOOc,,,,,,;;;;;;;:::::::cccc:::::::::::::;;;,,,,,,'''lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,,;;;;;;;;;:::::::c::::::::::::::::;;;,,,,,,'''okkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,,,,,,,;;;;;;;;:::::cccccc::::::::::::;;;;;;,,,,,''';kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:,,,,,,,;;;;;;::::::ccccccccccccc::::::;;;;;;;,,,,,'''okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,,,,;;;;;;::::ccccccccccccccccc::::::;;;;;;,,,,,''';kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'',,,,;;;;;;:::cccccccccccccccccc::::::::;;;;;;,,,'''''dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO;''',,'',,,,;;;::::cccccccc:::::;,,,''''....',,,,,''''''lkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:,''..     ......',;;;;;;;;;;,'....         ...''''''''':kkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'..   ....       ...',,,,,'...      ..............''''',xkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOko:,. .,'....'''..... ..           .......'''',,'.....    ..,'dkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkkkkkkkkkkx'   .ok:...'''''........         ............''''''...   ..;,dkkOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkkkkkkkkko'  .cx;...    .....   .  .',,.. ...      ..................;xkkOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl..;;,...     .,,,.......;ccc:'...........'''.. ............xkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc.;dd,...........'.....,:cccc:...................''...',,'.dxoclxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxl,'.:o,'''''''''''''...,:cccccc;...''''',,,,,,,,,,'..',,,,,,;;;'.ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxl,'..',,,,,,,,,,,'...,:ccllllcc:'...,;,,,,,,;;;,'..,;,,,,,,,,'.'xkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddo,,,'....''''......';:cllooollcc:,........'....',;;;;;,,,,,;;'',xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddddd;,,,,;,,''''',,,',;::clooooollcc:,',,;;;,,,;;:::;;;;;,,,,',;,,ckkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkxxxxxddddddl,,,,,,;;;;;;;;;;;;,,,;:ccc:;;;::;;;;:::::::::;;;;;;;,,,,,,;;cxxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdddddddd:,,,,,;;::::::;,... ...'''......',;:cccccc::::;;;;;,,'',,,:cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddddl,,,,,;;::::::;,'................';:ccccccc:::;;;;;,,''',;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkxkkkxxxxxddddddddddc',,,;;::::;;;;,''''''''..'''',,;;::ccccc::::;;;;;,'',;;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoo
xxxxxxxxxkxxxxkkkkkkkkkkkkkkkkxxxxxxxxkxxxxxxkxxxxxxxxxxxxxxxxxxxxdddddddddddo,',,;;;::;;;,,'''',,,''',,,,,,,,;;::::::::::;;;;,,'',;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxkkkxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd;',,;;;;;,,''',,,''',,,,,,,,,,,,,,,,;;:::::;;;;,,,',;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddc',,,,,,''''','...............,,;;,,,,;;;;;;;;;,,,,ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoo,'',,''.........................''''',,;;;;;,,,,';ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooc''''''.......',;;;;;;;;;,,'.......''',,,,,,,,,',lddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooo;'''''...'''''',,,,,,,,,,,,''''''''.',,,,,,''''cddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooooo
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddol,......'''................''''''''..''''''''':dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoooooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddool'....................''''''''''''.........''lddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddxxxdddddddddddddddddddddddooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddool,.........'''',,,,,,,,,,,''''............',oddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoc......''''''',,,,;;,,,,,,,,'''..........',dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddl'...............''''''''''''''.........'';ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoddddc''......................''.............'':ddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooooooooo
ddddddddddddddddddxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooooooooodddc'''....................................'':dddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooooooooooood:''''.....           ..................''':dddddddddddxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddooooooooooooooool;'''''......               ...........'''':ddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddddxxdxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooooooooool:,'''''''.......            ...........'''',,oddddddddddddddxxxxxxxxxxxxxdxddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddxdddddxxxxxxxxxxxxxxxxxxxxxddddddddddddoooooooooool:,','''',,,''''........      .............''',,,,;oddddddddddddddxdddddddxxddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxdxxdddddddddddddoooooc:::,......'''',,,,,,,'''........................'',,,,,,,;lodddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
dddddoodddddddddddddddddddddddddddddddddddxxdddddddddddddddddddooc:,.............''',,,,,,,,,'''....................',,,,,,,,,,,,,';:codddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddol:;'.... ..............',,,,,,,,,,,,'''.............'''',,,,,,,,,,,,,,,....;lddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  ..............,,,,,,,,,,,,,,,'''''.....''''',,,,,,,,,,,,,;;;;'.....':ldddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddoc;'..............  ...............',;;;;;,,;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,.........';coddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
oooooooooodooooodddddddddddddddddddddddddddoc:;,''.................   .................',,,;;;;;;;;;,,,,,,,,,,,,,,,,;;;,,,,,,;;;;,..............';coddddddddddddddddddddddddddddddddoooooooooooooooooooo
ooooooooooooooooooooooooododdooooddddddddl;........................   ...................',,;;;;;;;;;,,,,,,,,,,,,,;;;;;,,;;;;;;;'...................';coddddddddddddddddddoooooddddooooooooooooooooooooo
oooooooooooooooooooooooooooc;,''',:cl:;,...........................   ......................',;;;;;;;;;;;,,,,,,,,;;,;;;,,;;;;;'.........................,:lddddddddddddddoooooooooooooooooooooooooooooll
ooooooooooooooooooooooooo:'................................ ......    .........................';;:::;;;;;;;;;;;;;;;;;;;;;;,'..............................';codddddddddoooooooooooooooooooooooooooooooo
oooooooooooooooooooooooo;.........................................   ............................';:::::;;;;;;::::::;;;;;'.....................................:oooooooooooooooooooooooooooooooooooooooo
ooooooodddddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:'''''...........':okkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooo,
oooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,,,,,,,''''''''''''',,:ldkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooo;
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,,,,,,,,;;,,,,,,,,,,,,,,,,,,;ldkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo:
ddddddddddddddddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,,;;;;;;;;;;;;;;;;;;;;,,,,,,,,;ldkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooc
ddddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl;,,,,,;;;;;;;;;;:::::::::;;;;;;;,,,,,,,,;lkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddool
dddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;,,,,,;;;;;;;;:::::::::::::::;;;;;;;,,,,,,,',lxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooo
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkOOOOOOOOOkl,,,,,;;;;;;;:::::cccc:::::::::::::;;;;,,,,,,,'.,dkkkkkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo
dddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkkOOOOOOOOOOkl,,,,,;;;;;;;::::::cccc:::::::::::::::;;;,,,,,,''.'lkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,,,;;;;;;;;:::::::::::::::::::::::::;;;,,,,,,''''dkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddo
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:,,,,,,;;;;;;;;::::ccccc:::::::::::::::;;;;;,,,,,'''':kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,,,,,;;;;;:::::ccccccccccccccc:::::::;;;;;,,,,,,''''dkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,,,,,,,;;;;;::::ccccccccccccccccccc::::::;;;;,,,,,,,'''ckkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'',,,,;;;;;::::cccccccccccccccccc::::::;;;;;;;,,,,,'''',kkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:'''''',,,,;;;::::ccccccc:::::;,,'''.......',,,,,,,,,''''dkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''..     .....'',;;;;;;;;;,'....          ...'''''''''''ckkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkc..    ..        ..'',,,,,'..   .  ................'''''';kkOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkoc;...;c.....''......            ........',,,,,''....    .','',kkkOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkkkkkkkkkkko.   'dOd'..''''........         ................'''... ....,,',kkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkd,. .;dd'..    ....   .  .',,'. ....      ..................';;kkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'cc,'..    .',,'......,:cc:,...........',''................:kkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,cxko'...............':cccc:,..........'''''''.''...',,,,'.,doc::dkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxc'cdo,''''''''''''..';ccclcc:,...',,,,,,,,,,,,,'..',,,,,,,,;;;,'.:kkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkxxxxxdc.,:,,,,'''''''...':ccllllcc:,...',;,,,,,;;;,'.',;;;;;,,,,,,,'.'okkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddo,'....'''......',::llloollcc:;'...........'',;;;;;;;;,,,',;;,''dkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxddddo;,,,,''''',,,,,;;:clooooollcc:;,',,;;;;;;;::::;;;;;;,,,,'',;,,:xkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxddddddc,,,,,,;;;;;;;;,,',;:::::;;;;;;;,;:::::::::::;;;;;;;,,',;,,;;:xxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdddddddo;,,,,;;:::::;'..  ...''.......',;ccccccc::::;;;;;;;,'',;,;:cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddddddddd:,,,,;;::::;;,................',::ccccccc::::;;;;;,'''',,;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkxkkkxkkkxxkkkkkkkkkkkkkxxxkxxxxxxxxxddddddddddl,,,;;;:::;;;,''.''''''''''',,;;::cccccccc::;;;;;,,''',;;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddo;,,;;;;;;;,,'''',,,,,,,,,,,,,,;;;:::c:::::::;;;;,,'',;:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxkxxxkxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddc,,,,,;,,''',,''''',,,,'',,;;;,,,,;;::::::;;;;;,,,',,:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddl,,,,,'''''''...............',;;,,,,,;;;;;;;;;;,,',ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo;,,,''..........................'''',;;;;;;;,,,,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoc'''''.......',;;;;;;;;;,,'.......''',,,,,,,,,'',ldddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo;'''......'''''',,,,,,,,,''''''''''',,,,,,''''':dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddol'......'.................'''''''''''''''''''''ldddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddooooooooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddol'..................''''''''''''...........'',oddddddddxxxxxxxxxxxxxxxxxxxxxxxddddxxxxdddddddddddddddddddddddooooooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddol'........''',,,,,,,,,,,,,''''............'';dddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddxxddddddddddddddddddddddddooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddool,.....''''''',,,,,,,,,,,,,'''...........'';dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddodddoc...............''''''''''''............'':dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddoooddooodddc'.....................'...............'''cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooooooooooddo:''....................................'''cddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddooooooooooooooood;''''....          ...................''''cdddddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooooooooooool,''''......              ............''''':dddddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooooooooooo
dddddddddddddddddddddddddddxddxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddoooooooooooooool;,''''''.......           ............'''',',odddxxdddddddxxxxxxxxxxxxxxxxxddxxddddddddddddddddddddddddoooooooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxddddddddddddddooooooooooll:''''''',,'''''.......      .............'''',,,,;oddddddddddddddxddddxxxxxxddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxddddddddddddddddoooooc:;:,......''''',,,,,'''........................'',,,,,,,,;lodddddddddddddddxxxxxxdddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddxxxxxddddddddddddddddddddooc:,. ...........''',,,,,,,,,'''...................'',,,,,,,,,,,,,';:codddddddddddxxxdddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddool:,'.... ..............',,,,,,,,,,,,'''............''',,,,,,,,,,,,,;;;,....;ldddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl;'...........  ..............,,,,,,,,,,,,,,,'''''.'.'''''',,,,,,,,,,,,,,;;;;'.....':ldddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
odddddddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ...............',;;;;;,;;;;,,,,,,,,,,,,,,,,,,,,;;,,,,,,,;;;;,..........;coddddddddddddddddddddddddddddddddddddddoooooooooooooooooo
ddoooooooooooooooddddddddddddddddddddddddddoc:;,''.................   .................',;;;;;;;;;;,,,,,,,,,,,,,,,,;;;;,,,,,,;;;;,..............';codddddddddddddddddddddddddddddddddooooooooooooooooooo
oooooooooooooooooooooooodoodooooodddddddol,........................   ...................',,,;;;;;;;;;,,,,,,,,,,,,;;;;;,,;;;;;;;'...................';coddddddddddddddddddoodooddddooooooooooooooooooooo
oooooooooooooooooooooooooooc;'..',;cc:;'..........................    ......................',;;;;;;;;;;;,,,,,,,;;;,;;;,,;;;;;'.........................,:lddddddddddddddooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooo:'.......................................    .........................';;::::;;;;;;;;;;;;;;;;;;;;;,...............................';codddddddddoooooooooooooooooooooooooooooooo
oooooooooooooooooooooooo,.................................. ......    ...........................';::::::;;;;;::::::;;;;;'.....................................:ooooodoooooooooooooooooooooooooooooooooo
oooooooddddddddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc''''...........'';lxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddooo'
oooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,,''''''''''''''',;cokkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddoo,
ooooooddddddddxdxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,,,;;,,,,,,,,,,,,,,,,,,,,:oxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoo;
odddddddddddddxdxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,;;;;;;;;;;;;;;;;;;;;;,,,,,,,,,:lxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo:
ddddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;,,,,,;;;;;;;;;:::::::::::;;;;;;,,,,,,,'':okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoc
ddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;,,,,;;;;;;;;:::::::::::::::::;;;;;;,,,,,,,'.,lkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddol
ddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkkkkOOOOOOko,,,,,;;;;;;;::::::cc::::::::::::::;;;,,,,,,,''..,dkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo
ddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,;;;;;;;::::cc:cc::::::::::::::::;;;;,,,,,'''.'lkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd;,,,,;;;;;;;;:::::::::::::::::::::::::;;;;,,,,,,,''.'dkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;,,,,,;;;;;;;;:::::cccc::::::::::::::::;;;;;,,,,,,'''.:kkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,,,,;;;;;:::::ccccccccccccc:::::::::;;;;;,,,,,,'''''xkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,,,,;;;;::::ccccccccccccccccccc::::::;;;;;,,,,,,,''''lkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,,,,;;;;::::ccccccccccccccccccc::::::;;;;;;;,,,,,,'''';kkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'',,,,,,,;;;:::cccccccc::::;,,'''........',;,,,,,,,''''''xkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc'...   .....'',,;;;;;;;;,'....           ...',,'',,''''''lkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;..            ...'',,,,'..     ............ .....'',,''''cOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkdl:,..;l;...........            ........'',,,,;''...     .',,''';OkOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxdxxxddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkkkkkko.   'dOk:.'''''.......         .................'''.. .....',,'';OkOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkkkkkkkkkxo,. .,lxl...   ....  .   .,,'.......     ....................',';kkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'ll;,'.     .,,'...  .:ccc;...........',,''...........'''....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,lxkxc...............;ccccc,...........'''''''''...',,,,,,,..col:;;okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,lxxl'''''''''''...,:ccllc:,...',,,',,,,;;;,,,..',;;;,,,,,,,;;;,..ckkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl,;ol,,,'''''''...;:clllllc:;'...,;;,,,,;;;,'.',;;;;;;;,,,,,,,,'.'okkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdo,....'''.....',;:clooolllc:;'............',:::::;;;;;,,,'',;;,',okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdddd:,,,''..',,,,,;:clooooollcc:;,'',;;::::::::::::;;;;;,,,,,.';:;;:xkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxdddddl,,,,,;;;;;;;,,',;:::::;;;;:;;,;;:::::::::::::;;;;;;,,',;;,,:;:xkxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddddddo;,,,;;::::;,..  ...'...  ...',;:ccllcccc::::;;;;;;,,'',;;;;:cxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddddddddc,,,;;:::;;,'...............',;:ccccccccc:::;;;;;,,''''';;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkxxkkkkkkkkkkkkxkkkkkkkxxxxddddddddddo,,,;;;;;;;,,'..'''''''''',,;;::ccccccccc::::;;;;,,''',;;;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
xxxxxxxkkkkxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxdddddddddddo:,,;;;;;,,''''',,,'',,,,,,,,;;;:::cccc:::::::;;,,,'',;;cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxkxxxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc,,,,,,'''''''''',,,,'',,,;;;,,,,;;:::::::::;;;,,,,,;;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddl,,,,''''''................,;;;,,,,;;:::;;;;;;,,,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo;,,''..... ...................'''',,;;;;;;;,,,,,,;ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoc'''........',;;;;;;;;,,,'.......'',,;;;,,,,,,''':ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo,''.......''''''',,,,,'''''''''''',,,,,,,,''''''ldddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl'.....'................''''''''''''''''''''''',odddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoc.................'''''''''''''.............'';dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoc'.......''',,,,,,,,,,,,,''''..............',:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddxxxddddddddddddddddddddddddoooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddol'....''''''',,,,,,,,,,,,,'''.............''cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddxxxddddddddddddddddddddddddoooooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoddo,..............''''''''''''............'',cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddooooooddddo:'..................'''................'',ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooooooo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooooooooooooddo;''...................................''',lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooooooooooooooo,'''....          ...................'''',ldddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooooooooooooooc'''''.....             ..............'''',cdddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddooooooooooooooooc;''''''.......           .............''',,,;oddxxxdddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddodooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddddoooooooooollc;'''''''''''''.......      ..............'',,,,,,;dddxdddddddddxxxxxxxxxxxxxdddxxxddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddddddddddddddddddddddxxxxxxxxxxddddddddddddddddooooooc;;;,......''''',,,,''''........................',,,,,,,,,;lodddddddddddddxxxxxxxxxddddddddddddddddddddddddddddddddddoooooooooooooo
dddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddolc:,.............''',,,,,,',,''...................'',,,,,,,,,,,,,,';:codddddddddddxxxxddddddddddddddddddddddddddddddddddddddoooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooc;,'.... ..............',,,,,,,,,,,''''...........'''',,,,,,,,,,,,,;;;,....;ldddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl;'...........  ..............',,,,,,,,,,,,,,'''''...'''',,,,,,,,,,,,,,,,;;;;'.....':ldddddddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ooddddddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ...............',;;;;,,;;;,,,,,,,,,,,,,,,,,,,;;;;,,,,,,,;;;;,.........';codddddddddddddddddddddddddddddddddddddddooooooooooooooooo
dooooooooooooooooddddddddddddddddddddddddddoc:;,'..................   .................',;;;;;;;;;;;,,,,,,,,,,,,,,;;;;;,,,,,,;;;;,..............';codddddddddddddddddddddddddddddddddddooooooooooooooooo
ooooooooooooooooooooooooooodooooodddddddoc,........................   ...................',,;;;;;;;;;;;,,,,,,,,,,;;;;;;,,;;;;;;;'...................';codddddddddddddddddddddddddddddooooooooooooooooooo
oooooooooooooooooooooooooooc;'..'';cc:;'..........................    ......................',;;;;;;;;;;;,,,,,,;;;;,;;;,,;;;;;'.........................,:lddddddddddddddddddddddddooooooooooooooooooooo
ooooooooooooooooooooooooo:'.......................................    .........................';;::::;;;;;;;;;;;;;;;;;;;;;,...............................';coddddddddddddddddooooooooooooooooooooooooo
oooooooooooooooooooooooo,.........................................   ............................';:::::::;;;;::::::;;;;,'.....................................:odddddddddddddoooooooooooooooooooooooooo
ooooooodddddddddddddxdxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:'''..''...''''''',cdkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddool.
oooooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,'''''''''''''',,,,;:ldkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo.
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,,,,,;,,,,,,,,,,,,,,,,,,,,,,;coxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo'
ooddddddddddddxdxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,,,,,;;;;;;;;;;;;;;;;;;;;;,,,,,,,,,,:okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo,
ddddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,;;;;;;;;::::::::::::;;;;;;;,,,,,,,'':okkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;
ddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,,,,;;;;;;:::::::::::::::::::;;;;;;;;,,,,,'..,lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo:
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkOOOOOOOOOOo;,,,;;;;;;;:::::c:::::::::::::::::;;;;;;,,,,'''..,dkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoc
ddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,;;;;;;;:::::c:::::::::::::::::::;;;;;;,,,,,''..'okkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddl
ddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,,;;;;;;::::::::::::::::::::::::::;;;;;,,,,,,'''.'dkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddo
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOx;,,,,;,;;;;;;::::::cccc::::::::::::::::;;;;,,,,,,,,''..:kkkkkkkkkkkkkkkkkkkkkkxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,,,,;;;;::::ccccccccccccccc:::::::::;;;;;,,,,,,,'''''xkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,,,,;;;;:::ccccccccccccccccccc::::::::;;;;,,,,,,,,''''lkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,,,;;;;:::ccccccccccccccccc:::::::::::;;;;,,,,,,,,'''';kkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'',,,,,;;;::::ccccccc::::;;,''''.......',;;;,,,,,,,,''''',kkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk:'..........',,;;;;;;;;,,'....          ....',,'',,,,''''''dkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx,.           ...',,,,,'..     ............. .....',,,,'''''lOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOkxl:'.'c:........           .   ........',,,,,;,'..     .'',,''''.ckOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkkkko.   'okOo..''''.......         ..... . ........'''.. .......'''''.:kkOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkxl'  .'cxd'..   ....     .',,.......      ......................'''ckkOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,'ll;',..    .,,'... .,:cc;............',,'..........''''''....'lkkxxkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,oxkkd,.............':cccc;............''''''''...',,,,,,,,,..'cl:;,,okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx:,oxkx;'.....'''...':ccllcc;....',,,,,,,,;;;,,..',;;;;;;,,,,',;;;,'..lkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd:,cdx:,'''''''...,:ccllllcc;'...';;;,,,;;;,'.';;:;;;;;;;,,,,,,,,,'.'lkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxo:','''''.....';:clloolllcc:,............',:::::::;;;;;,,',.';:;,',okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxddc''....'',,,;:clooooolllc:;,'',,;;:::::::::::::;;;;;,,,,;,.';:;;cxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddddl,,,,,,,,;;,,',;:::::;;;:::;,,;::cc:::::::::::;;;;;,,,',;:;,;::cxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddo;,,,;;;:;;'.  ...''... ...'',:ccclllccc::::;;;;;;;,''',;;:;;:cxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdddddddc,,,;;;;;;,................';:cccllllcccc::;;;;;;,,''''',;;;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkxxxxdddddddddl,,;;;;;;,,''...''..'''',,;;::cccccccccc:::::;;;,,'''',;;;:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddo
xxxxxxxxkkkxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo;,;;;;;,,'''',,,'',,,,,,,,;;;:::cccccc::::::;;;,,''',;;;lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxdddxxddddddddddddddddddddddddo
xxxxxxxxxxxxxxxxxxxxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc,,,,,''''''''',,,,',,,;;;;;,,,;;:::::::::::;;,,,'',;;:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddl,,,'.''''...............,;;;;,,,,;:::::::;;;,,,,'';xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo;,''..... ...................''',,,;;;;;;;;,,,,,,,:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo:''.......',;;;;;;;;;,,''......''',,;;;;;,,,,'''''ldddxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddl,'.......'''''',,,,,,'''''''''''',,,,,,,,''''''',odddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoc'....................'''''''''''''''''''''''''';ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo:................'''''''''''''..............'',:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoooooooo
dddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo:.......'''',,,,,,,,,,,'''''...............',,cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooooo
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoo:.......'''',,,,,,,,,,,,,'''..............'',cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddool,.............'''''''''''...............'',ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxdddddddddddddddddddddddddodooooooo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoododooddol'................''''.................''',odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxddddddddddddddddddddddddddoooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooodoo,.....................................''',oddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxddddxdddddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddooooooooooooooooo'''...          ..   ................'''',lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddooooooooooooooooooc''''......             .............''''',cdddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddoooooooooooooooooc;''''''......           .............''',,,,;oddxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddddddooooooooooollc;'''''''''''''.......     ..............'',,,,,,,;dddxdddddxddddxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooooooooo
dddddddddddddddddddddddddddddddddddddxxxxxxxxxxxddddddddddddddoooooooc;;;'......''''',,,'''''........................,,,,,,,,,,;lodddddddddddddxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooooooooooo
oddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoool:;,. ...........''',,,,,,,,'''...................',,,,,,,,,,,,;;,';:codddddddddddddddxdddddddddddddddddddddddddddddddddddddoooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooc;,..... ..............',,,,,,,,,,,''''...........''',,,,,,,,,,,,,,;;;,....;lddddddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl;'...........  ..............,,,,,,,,,,,,,,''''''...''',,,,;;;;,,,,,,,,;;;;;......':ldddddddddddddddddddddddddddddddddddddddddddddooooooooooooooo
ddddooodddooodddddddddddddddddddddddddddddddddddddl:,'..............  ...............',;;;;,,;;,,,,,,,,,,',,,,,,,,;;;;;,,,,,,,;;;;,.........';codddddddddddddddddddddddddddddddddddddddooooooooooooooooo
ooooooooooooooooooddoodddddddddddddddddddddoc:,''..................   .................';;;;;;;;;;;,,,,,,,,,,,,,,;;;;;;,,,,,;;;;;,..............';coddddddddddddddddddddddddddddddddddoooooooooooooooooo
ooooooooooooooooooooooooooooooooodddddddoc,........................   ...................',,;;;;;;;;;,,,,,,,,,,,;;;;;;,,,;;;;;;;'...................';codddddddddddddddddddddddddddddooooooooooooooooooo
oooooooooooooooooooooooooooc;'...';cc:;'..........................    ......................',;;;;;;;;;;;,,,,,,;;;;;;;,,;;;;;;'.........................,:ldddddddddddddddddddddddddoooooooooooooooooooo
ooooooooooooooooooooooooo:........................................    .........................';;::::;;;;;;;;;;;;;;;;,;;;;,................................;codddddddddddddddddddoooooooooooooooooooooo
oooooooooooooooooooooooo,.........................................    ...........................';:::::::;;;;:::::;;;;;,......................................:oddddddddddddddddooooooooooooooooooooooo
oooooooddddddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:''''''''''''''''',:okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoo:.
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,,''''''''''''',,,,,,,,:coxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoc.
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;cokkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl.
oooddddddddddddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,,,,,;;;;;;;;;;;;;;;;;;;;;,,,,,,,,,'':okkkkkkkkkkkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo'
dddddddddddxdxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,;;;;;;;;:::::::::::::;;;;;;;;,;,,,''.':okkkkkkkkkkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxddddddddddddddo,
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkkkkkkkkkkkkkkkkxc,,,,;;;;;;:::::::::::::::::::;;;;;;;;;;,,'''..,lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddo;
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkkkkkkkkOOOOOOOOOd;,,,;;;;;;;::::::::::::::::::::::;;;;;;;,,,,'''...,dkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo:
ddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo;,,,;;;;;;;::::::cc::::::::::::::::;;;;;;;,,,,,'''..'okkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddc
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,,,,;;;::::::::::::::::::::::::::;;;;;;,,,,,,'''..'dkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddl
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;,,,,,,;;;;;::::::::::c::::::::::::::::;;;;;,,,,,,,'''..:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddo
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOk:,,,,,,;;;;;:::::cccccccccccccc:::::::::;;;;;,,,,,,,''''''xkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,,;;;;::::cccccccccccccccccc:::::::::;;;;,,,,,,,'''''.lkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,,;;;;:::cccccccccccccccccc:::::::::::;;;;,,,,,,,,''''.:kkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;,,,,,;;;;:::cccccccc::::;;,,'''.......,;;;;,,,,,,,,,,''''',kkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk;'.......',,;;;;;;;;;,,'....          ....',,,,,,,,,,,,'''''xkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd'          ...',,,,,,'..     .................'',,,,,,''''''oOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOko:'';:........      ......  .......'',,,,,,,,..     ...'',,''''.'lOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOkkkkx;.  .lkOx,.''''......         ................'''.. .........'''''.'lOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkkkkkkd;.  .;lxkc..........    .''........      ........................'''lOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd,.cc,',,.    .,,'..  .:cc;'............',''.........''''''''.....'lkxddxkkOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,okkkxl.............;cclc;..............''',''...',,,,;;,,,,'...,::;,''okkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd::dkkkd,...........;:clllc;'...',,,,,,,,;;;;,..',;;;;;;;;;,,,',;:;,,...lkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;;oxxd;'''''''...;ccllllcc:'...,;;;,,,;;;,'.';:::::;;;;;;,,',,,,,;;'''lkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxl,,:c;,,''....,:cllloollcc:,.....'......',:::::::::;;;;;,,','.,;:;,,,okkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdo;.......,,;:cloooooollcc:,'',,;:::::::::::::::::;;;,,,,,;:'.,::;;cxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdddl,,,,,,,,,,,;::cc:::;::::;;,;;::::ccccc::::::::;;;;,,,',::::,;:;lxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddo,,,;;;;;,.....'''.......'',;:ccllllccc::::::;;;;;,'''',;;::;::lxkkxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxddddddd:,,;;;;;,'...............',::cllllllcccc::::;;;;,,'''',,,;;;:oxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxdddddddddl,;;;;;;,,'........''',,;;::cccccclccccc:::::;;;,,'''',;;;;cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
xxxxxxxxkxxxxxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxkkxxkkkkkkkkkkkxxxddddddddddo;;;;;;,,''''''''',,,,,,,;;::::ccccccc:::::::;;,,,,,',;;::dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
xxxxxxxxxxxxxxxkxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxkkxxxdddddddddddd:,,,,'''''''',,,,,,,,;;;;;,,,;;::::::::::::;;;,,,,,''::ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc,,'''''..............',;;;;,,,,;:::::::::;;;,,,,,'':xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddl,,'..... .................''',,,,;:::;;;;;,,,,,,,',cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddxdddddddddddddddddddddddddddo
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddo;'.......',;;;;;;;;,,,'.......'',,;;;;;;,,,,,,'''',odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddoc'......''',,,,,,,,,,,'''''''''',,,,,,,,,,,'''''',;dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo;...................'''''''''''''''''''''''''''',:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooo
dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;...............'''''''''''''....''.........'',,cddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,......'''',,,,,,,,,,,'''''................'',,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo;...'.'''',,,,,,,,,,,,,,'''................',,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoo:'..........'''''''',,'''................'',,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooo
dddddddddddddddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooddddoooc'...............''''...................''',ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoooooooooooool.....................................'''',ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxdddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddooooooooooooool'....         .....................'''''',oddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddooooooooooooooooooo:''''....             ..............'',,,,,cddddxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooooo
odddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxddddddddddddoooooooooooooooooc;''''''......         ..............''',,,,,;dddxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooooooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddooooooooooollc;..''''''''''......      ...............',,,,,,,,:dddxdddddxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddddddooooooooooo
dddddddddddddddddddddddddddddddddddddxxxxxxxxxxdddddddddddddddoooooooc;;;'......''''',,'''''........................',,,,,,,,,,;loddddddxdddddxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddooooooooooo
ooddddddddddddddddddddddddddddddddddddddxddddddddddddddddddddoool:;,. ...........''',,,,,,,''''..................'',,,,,,,,,,,,;;,';:coddddddddxxxxxxxxxxdddddddddddddddddddddddddddddddddddoooooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooc;,'.... ..............',,,,,,,,,,,'''...........''',,,;;,,,,,,,,,;;;;,....;odddddddddxxxxdddddddddddddddddddddddddddddddddddddooooooooooooo
dddoddddddddddddddddddddddddddddddddddddddddddddddddddl;'...........  ..............,,,,,,,,,,,,,,'''''...'''',,,;;;;;;,,,,,,,;;;;;'.....':lddddddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
dddododdodddddddddddddddddddddddddddddddddddddddddl:,'..............  ...............',;,;,,;;;,,,,,,,'',,,,,,,,;;;;;;;,,,,,,;;;;;,.........';codddddddddddddddddddddddddddddddddddddddddooooooooooooooo
oooooooooooooododddddddddddddddddddddddddddoc:;''..................   .................',;;;;;;;;;;,,,,,,,,,,,;;;;;;;;,,,,;;;;;;;,..............';coddddddddddddddddddddddddddddddddddddoooooooooooooooo
ooooooooooooooooooooooooooooooooodddddddoc,........................   ...................',;;;;;;;;;;;,,,,,,,,,;;;;;;;,,,;;;;;;;'...................';codddddddddddddddddddddddddddddooooooooooooooooooo
oooooooooooooooooooooooooooc;'..'';cc:;'..........................    ......................',;;:::;;;;;;,,,,,;;;;;;;;,,;;;:;;'.........................,:lddddddddddddddddddddddddddooooooooooooooooooo
ooooooooooooooooooooooooo:........................................   ..........................';:::::;;;;;;;;;;:::;;,,,;;;,...............................';codddddddddddddddddddoooooooooooooooooooooo
oooooooooooooooooooooooo,.........................................   ............................';:::::::;;;::::::;;;,;,......................................;oddddddddddddddddooooooooooooooooooooooo
oooooooddddddddddxddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:''''''''''''''''',:lxkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddoo;.
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl;,'''''''''''''',,,,,,,,;:ldxkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:.
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;cokkkkkkkkkkkkkkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddc.
ooodddddddddddddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;,,;;;;;;;;;;;;;;;;;;;;;;;,,,,,,,,,''':okkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxdddddddddddddl.
ddddddddddxxddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,;;;;;;;;;::::::::::::;;;;;;;;;;;,,,''..':okkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddo.
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkOkkkkxc,,,;;;;;;;::::::::::::::::::;;;;;;;;;;,,,''''..,lkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddo'
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkkkOOOOOOOOd;,,;;;;;;:::::::::::::::::::::::;;;;;;;;,,,,'''....,dkkkkkkkkkkkkkkkkkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd,
ddddxxxxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo;,,,;;;;;;::::::::::::::::::::::::;;;;;;;;,,,,,'''...'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOo;,,,,,;;;;:::::::::::::::::::::::::::;;;;;;,,,,,,'''....dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOx;,,,,,,,;;;::::::::::::::::::::::::::::;;;;;,,,,,,''''...:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddc
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOk:,,,,,,;;;;:::::::cccccccccccc::::::::::;;;;;;,,,,,,'''''.'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddo
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,,,,;;;;:::::ccccccccccccccc::::::::::;;;;;,,,,,,,'''''..lkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOk;,,,,,;;;::::ccccccccccccccccc:::::::::::;;;;,,,,,,,,,''''..:kkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,,;;;;:::cccccc::::::;;,,'''.....',;;;;;,,,,,,,,,,,'''''',kkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,....'',,,;;::;;;;;;,'....          ....',,,,,,,,,,,,,,''''''xOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl.       ....',,,,,,'..      .......... .....',,,,,,,,,,''''''dOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOko:,,;.....       ........ ........',,,;;,''..     ...''',,,''''..'oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkkkl;. .;xOk:.'.'......         ................''.. .............''''...oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkkkkko.   .cdkOo'.........   ...........      ..... ........................lOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl..;,'',;'    ..'..  .,::;.......... ..',''..........'',,,,,''... ...cdoooxkkOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;,dkkxdl,.  ........;cccc;..............'''''....',,;;;;;;;,,,'..',;:;;'.,xkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;cxkkkkl'.........,:cllcc;....',,,',,,,;;;,'..';;;;;;;;;;;,,,',;;:;,,'..'dkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;:dxxxl,'''''...,:cllllcc;'...,;;;,,,;;;,'.';:::::::;;;;;;,,',,,,,;;;'''okkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxd:,:odl,'''....;ccllllllcc:,....'''.....',::ccc:::::;;;;;;,,,,,..;::;,,,dkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdc;,......';:cllooooollc:;,''',;;;;:::::::::::::::;;;;,,,',::,'';::;;lkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxddc,,,,,,,;;;:cccc::::c:::,,,;:::::cccc::::::::::;;;,,,,',:::c;,:::oxkxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddddl,,,;;;,....',,'......',,,;:ccllllccccc::::::::;;,,'''';;;;:;;::okkkxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdddddd;,;;;;,'...............',;:cllllllccccc::::::;;;,''''',,,;:;;:dkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkkkxxxddddddddc,;;;;,,'........'''',;;::ccccccllccccc:::::;;;,,,''',,;;;;:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxxkkxxxxxxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxkkxxkkkkkkkkkkkxxxdddddddddo;;;;,,''''''''',,,,,,,;;:::cccccccccc::::::;;,,,,,,,,;:::lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
xxxxxxxxxxxxxxxkkkkkkkxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxddddddddddo:,,,'''''',,,,,,,,,;;;;;;;;;;:::cccc::::::;;;,,,,,,'.,:coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddo:,'''''............'',;;;;,,,;;::::::::::;;;,,,,,,'''cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxdddddddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd:,'.... ................''''',,;;:::::;;;;;,,,,,,'',,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxxdddddddddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddc,'......',,,,,;;;,,'........'',,;;;;;;;;,,,,,,'''',;ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo;.....''',,,,,,,,,,,,,''''''''',;;,,,,,,,,''''''',,:ddddxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddc'..................'''''''''''',,,,'''''''''..'',,cddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddo:...............''''''''''''..'''''''........'',,,lddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoc'.....''''',,,,,,,,,'''''..................'',,,oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoc'.....''',,,,,,,,,,,,,''''.................',,;ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddol,.........'''''''',,,'''.................''',;ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddol,..............'''''....................''',;ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooool;......................................'''';ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooooooc...       ........................''',''',oddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooooooooooooooooo:'''....            ...............'',,,,,,lddddxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooooo
oddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddoooooooooooooooooc,'''''......         ...............'',,,,,,;dddxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddodoooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddoooooooooooollc;..'''''''''......      ...............',,,,,,,,,:ddxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxxxxxdddddddddddddddoooooooc;;;'......'''''''''''........ ...............'',,,,,,,,,,;loddddddxxdddxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooooooooo
odddddddddddddddddddddddddddddddddddddxxxxdddddddddddddddddddoool:;,. ............'',,,,,'''''..................'',,,,,,,,,,,,;;;,';:codddddddxxxxxxxxxxxxddddddddddddddddddddddddddddddddddddoooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooc;,'.... ..............',,,,,,,,,,''''..........''',,,,;;;,,,,,,,,;;;;,....;odddddddxxxxxxxxxdddddddddddddddddddddddddddddddddddddoooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl;'...........  ..............,,,,,,,,,,,,,'''''....''',,,,;;;;;,,,,,,,;;;;;;'.....':ldddddddddddddddddddddddddddddddddddddddddddddddooooooooooooo
dddooodoooddddddddddddddddddddddddddddddddddddddddl:,'..............  ...............',;,;,,;;;,,,,,,''',,,,,,,;;;;;;;;,,,,,,;;;;;,.........';coddddddddddddddddddddddddddddddddddddddddddoooooooooooooo
oooooooooooooddddddddddddddddddddddddddddddoc:;,'..................   .................,,,;;;;;;;;;,,,,,,,,,,,;;;;;;;;,,,,;;;;;;;,..............';codddddddddddddddddddddddddddddddddddddooooooooooooooo
ooooooooooooooooooooooooooooooooodddddddoc,........................   ...................',;;;;;;;;;;;,,,,,,,,;;;;;;;;,,,;;;;;;,....................';ldddddddddddddddddddddddddddddddoooooooooooooooooo
oooooooooooooooooooooooooooc;'..'';cc:;'..........................    ......................';;;:::;;;;;,,,,,,;;;;;;;;,,;;::;,'.........................,:lddddddddddddddddddddddddddooooooooooooooooooo
ooooooooooooooooooooooooo:'.......................................   ..........................';:::::;;;;;;;;;;:::;;,,,;;;'...............................';coddddddddddddddddddddooooooooooooooooooooo
oooooooooooooooooooooooo,.........................................   ............................';::::::;;;:::::::;;;,;,......................................:odddddddddddddddddoooooooooooooooooooooo
ooooooodddddddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,'''''''''''''''',:ldkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,.
ooooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;,''''''''''''',,,,,,,,',:cldkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;.
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd:.
ooooddddddddddddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;,,;;;;;;;;;;;;;;;;;;;;;;;,,,;;,,,'''.':okkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc.
dddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,,,;;;;;;;;::::::::::::;;;;;;;;;;;,,,'''.''':okkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddl.
ddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkxc,,,,;;;;;:::::::::::::::::::;;;;;;;;;,,,''''''..,lkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo.
ddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkkOOOOOOOkd;,,,;;;;;::::::::::::::::::::::;;;;;;;;;;,,,''''....;xkkkkkkkkkkkkkkkkkkkkkkxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddo'
ddddxxxxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOko;,,;;;;;;::::::::::::::ccc::::::;;;;;;;;;;,,,,,'''....'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd,
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOo;,,,,,;;;::::::::::::::::::::::::::;;;;;;;;,,,,,'''''...'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOd;,,,,,,;;;:::::::::::::::::::::::::::;;;;;;;,,,,,,''''....;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd:
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOx:,,,,,,;;;:::::::::ccccccccc::::::::::;;;;;;;;,,,,,'''''...'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddc
ddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOkc,,,,,,;;;:::::::ccccccccccccc::::::::::;;;;;;;,,,,,,'''''...lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddl
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOd;,,,,;;;::::cccccccccccccccccc::::::::::;;;;;;;,,,,,,''''''..:kkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddo
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,,,;;;:::::ccc:::::::;;;,,'''...',;::;;;,,,,,,,,,,,,''''''',kOkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOc''''',,;;;:::;;;;;,,'....         ....',;;,,,,,,,,,,,,''''''''xOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOk,      ...'',,,,,,'...      ........  ....',,;;;,,,,,,,''''''''dOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOko:;;..         ........ ........',,,;;,'..      ...'',,,,,,''''...'oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOkxo:'.,lkkc........          .............'''''.. ........  ....'''''...'lOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkko.   .lxOOo'........    ... ......      .......  .......................'cOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo;.....';c,.   ....  .';;,..........  ..'''....  ....'',,,,,,,''... ...';ollokOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;.lxxdo:,.  ..''...':ccc,.............''''''...'',,;;;;;;;;;,,,'.'';;::;'..:kkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,lxxkkkx;........':cclc:,....','''',,,,;;,'.',;;;;:::;;;;;;,,,',;::;,,,'..;kkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc;lxxxxd;''.'...,:cllllc:,...',;;;,,,,;;'.',;:::::::::::;;;,,'',,;;;;;;,'',xkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl,;odxo;''....,:cllllllc:;'....''''....',::ccccc::::::;;;;,,',;,..,:c:;,,:kkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,;,.....,:clloooolllc:;,''',,,;;::::::ccccc:::::::;;;,,,,;:c;'',:c;;:dkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxdo:,,,,,;;:ccclccccccc:;,,,;::::cccccc:::::::::::;;,,,,,,;:cccc;;c;cdkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxdddc,,,;,'..',,,''...'',,,,;:cclllllccccc::::::::;;,,,,,',;:;;::;::cxkkkkkxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddddl;;;;;'................,;ccllllllllcccc:::::::;;,,'''',,,,;:;;;lxkkkkkxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkkkkkkkkkkkkkkkxxxdddddddd:;;;;,'........''',,;;::cccllllllccccc::::::;;,,,,,,,,,;:;;;cdxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxddddddddddddddd
xxxxxxkkxxxxxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxkkkkkkkkkkkkkkkkkxxxdddddddddc;;,,,'''''''',,,,,,;;:::ccccccccccccc:::::;;;,,,,,,',;:::cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxddddddddddl;,,''''',,,,,,,,;;;;;;;;;;::cccccccc::::::;;,,,,,,''.';coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddl,''''............',;;;;;;;;;;::::::::::::;;;,,,,,,''',oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxddddddddddddl,'...................'',,,,,,;;::::::::;;;;,,,,,,'',,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddo;... ..',,,',,,,,''.......''',,;;;;;;;;;;,,,,,,'''',,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddoc'....'',,,,,,;;,,,,,,'''''''',;;;;;;;,,,,,''''''',,,lddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoo
ddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo,.................'',,,,'''''',,,,,,'''''''''..'',,,oddddxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddl,.............'''''''''''''.''''''''''.......'',,,;dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddl,.....''''''',,,,,,'''''....................',,,,:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddoooo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddl,...'''',,,,,,,,,,,,,,'''...................',,,cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddodooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo;........''''''',,,,,'''...................',,,cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddol,.............''''''.....................',,,,:ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoooooooool;.......................................',,,,;ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooooool;..      ..........................''',,',,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddooooooooooooooooo:'....           ............''..''',,,,,,,ldddxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddoooooooooooooooooc,''''......        ...............''',,,,,,,;ddxxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddddooooooooooooollc;'.''''''''......      ...............',,,,,,,,,,:dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxxxdxdddddddddddddoooooooooc;;;,.......'''''''''........ ...............'',,,,,,,,,,,:lodddddxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooooooo
ddddddddddddddddddddddddddddddddddddddxxxddddddddddddddddddooooolc:,. ............'',,,,'''''...................',,,;,,,,,,,,,;;;,,;:coddddddxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddooc;,'....  .............',,,,,,,,,'''............''',,;;;;;,,,,,,,;;;;;;....;odddddxxxxxxxxxxxdddddddddddddddddddddddddddddddddddddoooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  ..............,,,,,,',,,,,'''''.....'',,,,;;;;;;,,,,,,,;;;;;;'.....,:ldddxxxxddddddddddddddddddddddddddddddddddddddddooooooooooooo
ddddooddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ...............',,,,,;;;,,,,,,'''''',,,,;;;;;;;;,,,,,,;;;;;;,.........';codddddddddddddddddddddddddddddddddddddddddddooooooooooooo
oooooooooooooddddddddddddddddddddddddddddddoc:;,''.................   .................,,,;;;;;;;;,,,,,,,,,,,,;;;;;;;;,,,,;;;;;;;,..............,:loddddddddddddddddddddddddddddddddddddddoooooooooooooo
ooooooooooooooooooooooooooooooooodddddddol,........................   ...................',;;;;;;;;;;;,,,,,,,,;;;::;;,,,,;;;;;;;'...................,:ldddddddddddddddddddddddddddddddddoooooooooooooooo
oooooooooooooooooooooooooooc;'..'';cc:;'..........................    ......................';;;:::;;;;;,,,,,,;;::;;;,,,;;::;;'.........................,coddddddddddddddddddddddddddooooooooooooooooooo
ooooooooooooooooooooooooo:'.......................................   ..........................,;:::::;;;;;;;;;;:::;;,,;;:;,...............................';codddddddddddddddddddddoooooooooooooooooooo
oooooooooooooooooooooooo;.........................................   ............................':::::::;;;;::::::;;,,;,'....................................':odddddddddddddddddddoooooooooooooooooooo
ooooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;'''''''''''''''',:ldkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo..
ooooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;'''''''''''',,,,,,,,,'',;:loxkkkkkkkkkkkkkkkkkkkkkxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo'.
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''',:lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd,.
oooddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;,,;;;;;;;;;;;;;;;;;;;;,,,,;;,,,,,''.'',cdkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd:.
dddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,;;;;;;;;;;::::::::;;;;;;;;;;;;;,,,,'''''..,cdkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd:.
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkOkkkx:,,,;;;;;;::::::::::::::::::;;;;;;;;;;,,,''''.'...;dkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddc.
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkkkkkkOOOOOOko;,,;;;;;:::::::::::::::::::::;;;;;;;;;;,,,,,'''''....:xkkkkkkkkkkkkkkkkkkkkkkkkxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl.
ddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOkl,,,,;;;;::::::::::::::::ccc::::;;;;;;;;;;;,,,,''''.....,dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddo.
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOkc,,,,,;;;::::::::::::::::::c:::::::::;;;;;;;;,,,,''''.....'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd'
ddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,,,,;;;:::::::::::::::::::::::::::;;;;;;;;;,,,,'''''.....:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd,
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,,,;;;:::::::::::ccccccc:::::::::::;;;;;;;;;,,,,'''''....'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd:
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOk:,,,,;;;;::::::::cccccccccccccc:::::::::;;;;;;;;,,,,''''''....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddc
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,;;::::::::ccccccccccccc:::::::::::;;;;;;;;,,,,,'''''''...:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOk:,,,,;;::::::::::::::::;;,,''...',;;:::;;;;;;;;;,,,,,,,'''''''',kOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOk;,,,,,;;;::::::;;,,'....        .....,;;;;,;;;;;,,,,,,,'''''''''xOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOl. ......',,,,,,,'..       .......   ...',,;;;;;;,,,,,,,''''..'''dOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOxo:;.         ........ .......'',,,,,,..       ...''',,,,,,''''.....'oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOko:..:dkl......          ..............''''.. .........    ....''''.....'cOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkx,   .ckOOd,.'.....    ..  ......      ......   ...............    .......':OOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc. ....,co:.   ...   .;;'.........   ..'''...  .....'',,,,,,,,,''...  ...';ccldkOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd..,odoc;'.   .''..':cc:'..............''''...'',,,;;;;;::;;;;,,''',,;::;,'..'dkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,:dxkkkkc.......':cllc:'...',,'''',,,;;,'..,;;;;;:::::::;;;;,,'';:::;,,,,'.'okkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,lxxxxxl''....':cllllc:,...';;;;,,,,;,..';:::::::::::::;;;;,,',,,,;;:::;,''lkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:'cdxxxc,'...,:clllllcc:;.....',,'....,;:cccccccc::::::;;;,,',,;,..,:cc;,;;okkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxd:,;::'....;clloooolllc:;''''',,;;::::::cccccccc:::::;;;;,,',:cc;,',;c:;;ckkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdoc,',,;::cllllcccccc:;,,,;::::ccccccccc::::::::::;,,,,,,,:cc:cl;;c::lxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdd;,,,''',;;,''.'',,;;,,;:ccllllllccccc:::::::::;,,,,,,,;:;,;::::::okkkkkkxkxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxddddc;;;,........  .....',;cclllllllllccc::::::::;;,,,,,,,,,,,:::;;cdkkkkkkkxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkxkkxkxxxxxxkkkkkkkkkkkkkkkkkkkxxxddddddo;;;,'.........'',,;;::cccllllllllcccc::::::;;,,,,,,,,,;;:;;;:oxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxkkkxxxxkkkkkkkkkkkkkxxkkxxxxxxxxxxxkkkkkkkkkkkkkkkkkkxxddddddddo;;,,''..'''',,,,,;;;::ccccccllccccccccc:::;;,,,,,,,'',;:::coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddxddddddddddddd
xxxxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxdddddddddo;,,''''',,,,,,;;;;;;;;;;:::cccccccccccc:::;;,,,,,,,''.',coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxddddddddddo;''''.....'....',;;:;;;;;;;::::::cc::::::;;;,,,,,,,'''';xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo;'..................',,,,,,;;:::::::::;;;;;,,,,,,''',,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd:... ..''''',,,,''.......'',,;;;:;;;;;;;;,,,,,,'''',,,,odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddl'...'',,,,,;;;;,,,,,''''''',,;;;;;;;,,,,,,,''''''',,,;dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddo:................'',,,,,''''',,,,,,,'''''''''...'',,,:ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxdddddddddddddddddddddddddoo
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo;.............'''''''''''''''''''''''.........',,,,,cdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooo
ddddddddddddxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddo;.....''''''',,,,,,'''''.....................',,,,,cdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo:...'''',,,,,,,,,,,,''''.....................',,,,cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo:'......''''''',,,,,''''....................',,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddo;............'''''''......................'',,,,cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoodooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoooooool;........................................',,,,,:ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoooooooooooc;..     .............................'',,,'',,dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooooooll;...            ............'''..''',,,,,,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddoooooooooooooooooc,'''.....         ..........'''''''',,,,,,,,;ddxxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddoooooooooooooollc;'.'''''.......       ................',,,,,',,,,:dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxxxxxdddddddddddddoooooooooc;;;,........'''''''.......   ...............',,,,,,,,,,,;:oodddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
odddddddddddddddddddddddddddddddddddddxxxxxddddddddddddddddooooolc:,. ............''''''''''...................'',,;;;,,,,,,,;;;;,,;clodxdddxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddoooc;,'....  .............',,,,,,,,'''............''',,,;;;;;,,,,,,,;;;;;,....:odddddxxxxxxxxxxxxddxddddddddddddddddddddddddddddddddddooooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  ..............,,,,,,,,,,,,''''......'',,,;;;;;;;,,,,,,;;;;;;;'.....,:ldddxxxxxxxxxddddddddddddddddddddddddddddddddddddddoooooooooo
dooddoddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ...............,,,,,,;;,,,,,,,''''''',,,;;;;;;;;,,,,,,;;;;;;,.........':ldddddxxxdddddddddddddddddddddddddddddddddddddoooooooooooo
ooooooooooododdodddddddddddddddddddddddddddoc:;,''.................   .................,,,;;;;;;;;,,,,,,,,,,,,;;;;:;;;,,,,;;;;;;;,..............,:ldddddddddddddddddddddddddddddddddddddddddoooooooooooo
oooooooooooooooooooodddddoooooooodddddddol,........................   ...................',;;;;;;;;;;,,,,,,,,,;;:::;;,,,,;;;;;;;'...................,:lddddddddddddddddddddddddddddddddddooooooooooooooo
oooooooooooooooooooooooooooc;''.',;cc:;'..........................    ......................,;;;:::;;;;,,,,,,;;;::;;;,',;;;:;;'.........................;coddddddddddddddddddddddddddddooooooooooooooooo
ooooooooooooooooooooooooo:'................................ ......   ..........................,;::::;;;;;;;;;;;::;;,,,;;:;,...............................':codddddddddddddddddddddddoooooooooooooooooo
oooooooooooooooooooooooo;.........................................   ............................,:::::::;;;;::::::;,,,;,'....................................':odddddddddddddddddddddoooooooooooooooooo
ooooooddddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''''''''''''';codkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddol..
oooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc;'''''''''',,,,,,,,,,,'',;:codkkkkkkkkkkkkkkkkkkkkkkkkxxxxkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo..
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;,,,',,',,,,,,,,,,,,,,,,,,,,,'''.';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo'.
oooooddddddddddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;,,,;;;;;;;;;;;;;;;;;;;;,,,;;,,,,'''...':oxkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd,.
ddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,;;;;;;;;;;;::::::;;;;;;;;;;;;;;,,,''''''..';lxkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd;.
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkkkxc,,;;;;;;;::::::::::::::::;;;;;;;;;;;,,,''''''....'cxkkkkkkkkkkkkkkkkkkkkkkkxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd:.
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkkkkkOOOOOOOkl;,,;;;;;::::::::::::::::::::;;;;;;;;;;;,,,,'''''.....'lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddc.
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOx:,,;;;;;:::::::::::::cccc:::::::::;;;;;;;;,,,,,'''''.....:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddl.
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOx:,,,;;;;:::::::::::::::ccccc::::::::;;;;;;;;;,,,'''''......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo.
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOkc,,,,,;;;::::::::::::::::::::::::::::;;;;;;;;;,,,,'''''......lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd'
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOo,,,,,;;;;::::::::::cccccc:::::::::::::;;;;;;;;;,,,'''''''....,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd,
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOx;,,,,;;;::::::::ccccccccccccc::::::::::;;;;;;;;;;,,'''''''.....okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOc,,,,;;:::::::::ccccccccccc::::::::::::;;;;;;;;;;;,,,'''''''....ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOx;,,;;;::::::::::::::::;;,,''''',;::::;;;;;;;;;;;;;,,,,'''''''''.;kOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddc
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,,;;;::::::;;,,'.....       ....',;;;;;;;;;;;;;,,,,,,''''''''''kOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;.....'',,,,,,,'..      .......   ....',;;;;;;;;;;,,,,,,''''''''''dOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOxl:'.       ...'''.. .......'',;;,,..        ....'',,;;,,,,,'''.......oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOko;.,ldo.....          ..............'''.. ..........     .....''''......'cOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkl'. ..dkOx;.'....        ......      .....    .................    ........':kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;.  ..':oxl..  ...  .,,.........     .'''... ......'',,;;;;;;,,,'....  ..',;:;:okOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd'..,lc;,'.   .'...;cc;..............''''...',,,,,;;;:::::;;;;,,,'',;::c:;,....okkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc';:xkkkxo'......;cclc;....',,''''',,;,'..,;;;;;::::::::::;;;,,',,;:::,',;,''':kkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,:oxxxxd;'...':cllllc:'...';;;;,,,,,'.';:::::::cc:::::::;;;,,',;;;,;::::;,,':kkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:';dxxxo,'..,:cllllllc:,....',,,'...',:ccccccccccc::::::;;;,,,,;:,..,:cc:,;;lkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,:cl:...,:cloooolllc:,''''',,;::::::ccccccccccc::::;;;;,,,,;ccc;,,,;c:;:cxkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxocc;',;::clllllllccc:;,,,;:::ccccccccccccc::::::::;,,,,,,,;ccc:ll:;c::lxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdl,,,',;;;,'''',,;;;,,;:cclllllllccccc:::::::::;,,,,,,,,;:;,;:c::::lxkkkkkkxxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddo;;,.......    ....',:clllllllllllccc:::::::;;;,,,,,,,,,,,;:::;;:dxxkkkkkxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxkkkkkkkkkkkkkkkkkkkkkxxxddddddc;,,'........'',,;;:cccllllllllllccccc:::::;;,,,,,,,,,,;:::;;:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd
xxxxxxkkkxxxxxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkxxdddddddd:,,,'...'''',,,,;;:::cccccllllccccccccc:::;;;,,,,,,,'';::::coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddxddddddddddddd
xxxxxxxxxxxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxddddddddd:,''''',,,,,,;;;;;;;;;;:::ccccccccccccc::;;;;,,,,,,''..',;odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxdddddddddo:'''.........'',;::;;;;;;;::ccccccccc::::;;;,,,,,,,''''''cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd:'................',,,,,,,;;:::::::::::;;;;,,,,,,,''',,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddl'.....'''''''''........'',,;;:::::;;;;;;,,,,,,,'''',,,,:dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddo,...',,,,,,;;;;,,,,''''''',;;;;;;;;;,,,,,,,'''''''',,,,cdddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddc'.............''',,,,,'''',,,,,,,,,'''''''''....',,,,,lddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddc'............'''''''''''''''''''''''..........',,,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxxxxxdddddddddddddddddddddddoo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddc'....'''''',,,,,,'''''.......................',,,,,,lddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddxddxxdddddddddddddddddddddddoo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddc'.'''',,,,,,,,,,,,,'''.......................',,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoc'......'''''',,,,,,''''....................'',,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddodo;...........''''''''.......................'',,,,,cddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooooooo;.........................................'',,,,,:ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooooooc,..     ..............................''',,,'',;dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooooooolc:...          ............'''''.'''',,,,',,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxddddddddddddooooooooooooooooooolc,'......        ..........''''''''',,,,,',,,:ddxxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddddoooooooooooooooll;'.''''.......       ................',,,,,'',,,,:dxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxxxxxddddddddddddooooooooooc:;:,........'''''........  ................',,;,,,'',,,;;:oddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
dodddddddddddddddddddddddddddddddddddxxxddddddddddddddddddoooooooc:,. ............''''''''.....................',,;;;;,,',,,,;;;;,,:clddxdddxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddoool:,'....  .............',,,,,,''''............'''',,;;;;;;,,',,,;;;;;;;....:dddddxxxxxxxxxxxxxxxxxxxddddddxxdddddddddddddddddddddddooooooooo
ddodddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  .............',,,,,,,,,,,''''......''',,,;;;:;;;,,,,,,;;;;;;;'....',coddxxxxdxxxxxddddddddddddddxddddddddddddddddddddddddooooooooo
doodddddddddddddddddddddddddddddddddddddddddddddddoc;'..............  ...............,,,,,,,,,,,,,,''''''',,,;;;;::;;;,,,,,;;;;;;;,.........':lddddddxdddddddddddddddddddddddddddddddddddddddooooooooooo
oooooooooodddddodddddddddddddddddddddddddddol:;,''.................   .................,,,;;;;;;;,,,,,,,,,,,,;;;:::;;,,',;;;;;;;;,.............',codddddddddddddddddddddddddddddddddddddddddoooooooooooo
oooooooooooooooooooddddddooooodddddddddddl;........................   ...................,,;;;;;;;;;,,,,,,,,,;;;:::;;,',;;;;;;;;'...................;codddddddddddddddddddddddddddddddddddddoooooooooooo
oooooooooooooooooooooooooooc;,''',:cl:;,..........................    ......................,;;:::;;;;;,,,,,,;;;:::;;,',;;:::;'........................';cddddddddddddddddddddddddddddddddoooooooooooooo
ooooooooooooooooooooooooo:'................................ ......    .........................,:::::;;;;,,;;;;::;;;,,,;;:;,...............................,:loddddddddddddddddddddddddooooooooooooooooo
oooooooooooooooooooooooo;.........................................   ............................,::::::;;;;;;:::::;,,,;;'....................................'cddddddddddddddddddddddoooooooooooooooooo
ooooooddddddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc:,''..''''''''',:coxkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxdddddddddd:..
ooooooddddddddxddxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;'''''''''',,,,,,,,''''',;;cldxkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddc..
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,,''''',,,,,,,,,,,,,,,,,,,,,,'''..,:oxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo..
ooooooddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,,;;;;;;;;;;;;;;;;;;;;;,,,,,''''...';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd'.
ddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkkkkko:,;;;;;;;;;;;;::::;;;;;;;;;;;;;;;,,,'''''''...,cdkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd,.
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkd:,,,;;;;;;;::::::::::::::;;;;;;;;;;;,,,,'''''''...';okkkkkkkkkkkkkkkkkkkkkkkkkkkxkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;.
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkOOOOOOOOOOkc,,;;;;;;;::::::::::::::::::;;;;;;;;;;;,,,,,'''''......;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd;.
ddddxxxxxxxxxxxxxxxxxxxxxkxxkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOd;,,,;;;:::::::::::::cccc:::::::::::;;;;;;;,,,,,''''......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd:.
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOd;,,,;;;:::::::::::::ccccccc:::::::::;;;;;;;;,,,,''''''.....'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddc.
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOx;,,,,;;;;::::::::::::::::::::::::::::;;;;;;;;;,,,'''''''.....'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo.
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOkc,,,,,;;;:::::::::::ccccccc::::::::::::;;;;;;;;;,,,''''''......ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo'
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOd,,,,;;;::::::::ccccccccccccc:::::::::::;;;;;;;;;,,,'''''''.....,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd'
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOk:,,,;;:::::::::ccccccccccc:::ccc:::::::;;;;;;;;;;;,,,'''''''.....okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOd,,,;;;::::::::::::::;;,,''..',;:::::;;;;;;;;;;;;;;,,,,,'''''''...ckOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd:
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOc,,,;;;::::::;;,'.....       ....',;:;;;;;;;;;;;;;;;,,,,'''''''''.;kOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOo'...'',,,,,,,'..       .....     ...',;;;;;;;;;;;;;,,,,,'''''.....'kOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOxo:.      ...'''.. .......',,;;,'.         ......',,;;;,,,,,'''........oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOko;.,lo'...           ..............'..  ..'........     ......''''.......'lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkl,. .,xkkc......        ......      ....    ...................     .......''ckOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko.  ..'cdkd,..  .   .,.. .......    .'''..  ......',,;;;;;:;;;,,,'.......',;:;,;lkOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd,...,;,''.   .'..,:c:'..............''....,,,,,,;;:::::::::;;;,,'',;:cc:;,'....lkOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko',;oxkkxd;.....,cclc:....'',''''',,;,...,;;;:::::::c::::::;;;,,,,;:::;,,;;;,'':kkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,;:dxxxxl'..';cllllc:'...';;;;,,,,'..,;:::cccccccccc:::::;;,,,,;;;,,:cccc:,,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:''cdxxdc'',:cllllllc:,....',,''...';::cccccccccccc:::::;;;,,,,;::'..,:cl:;;;ckkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl,':ool,.,:cllooolllc:,''''',,;::::::cccccccccccc::::;;;;,,,,;:clc;;,,;c:;:cxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdl:::,,::cllllllllcc:;,,,;:::ccccccccccccccccc::::;;;,,,,,,;:cc::lo:;c::lxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdc,,,;;;,''',,;;;;,,;:clllllllllccccc::::c::::;,,,,,,,,;::,,:cc:::;lxxxkkkkkxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxddl;'......    ....',;cclllllllllllcccc:::::::;;,,,,,,,,,,,;::::;;cdxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxkkxkkkkkkkkkkkkkkkxxxxxdddo;,,........'',,;;:ccclllllllllllcccccc::::;;,,,,,,,,,,;;:::::coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
xxxxxkkkkkxxxxkkkkkkkkkxkkkxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkxxxddddddl;,''....'',,,,;;;::cccccllllllcccccccc:::;;;,,,,,,,,,,;:cc:coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxxddddddddddddd
xxxxxxxxxxxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxddddddddl,,''',,',,,;;;;;;;;;:::ccccccccccccccc::;;;;,,,,,,,''..',,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl,''........'',;:::;;;;;;::cccccccccc:::;;;;,,,,,,,'''''',,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxddddddddddo,...............',,,,,,,;;:::::::::::;;;;;;;,,,,,''',,,,,;ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo;.......''''''........'',,;;::::::;;;;;;,,,,,,,''''',;,,,cdddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc...',,,,,;;;,,,,,''''''',,;;;;;;;;;,,,,,,,,'''''.',,;;,,lddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
ddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddo;.............'',,,,,,''',,,,,,,,,,'''''''''....'',,;;,,oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddo
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo,...........'''''''''''''''''''''''''..........',,,;,,,oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxxxxxdddddddddddddddddddddddoo
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo,....''''',,,,,,,'''''.......................'',,;,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;..''',,,,,,,,,,,,,''''.....................''',,,,,,oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo,.....'''''',,,,,,''''.......................',,,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddodoc...........'''''''.........................'',,,,,,cddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooooo:..........................................'',,,,,,:dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool;...    ...............................''',,,,',,;dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooooolc:;'.           ............'''''.'''',,,,'',,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddooooooooooooooooooll:,'.....        ..........'''''''''',,,,'',,,;ddxxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoooooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddoooooooooooooooollc;..'''.......       ...............''',,,,,'',,,,:dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
dddddddddddddddddddddddddddddddddddxxxxxxxxxxxddddddddddddoooooooooooc;;;,........''''........   ...............'',;;,,,'',,,,,:oddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddddddddddddddxxxdddddddddddddddddoooooooc:,. ............'''''''.....................'',,;;;;,,',,,,;;;;,,:cldxxxddxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddooool:,'....  .............',,,,'''''.............''',,;;;;;;;,'',,,;;;;;;;....:oddddxxxxxxxxxxxxxxxxxxxdddddxxxxxdddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  .............',,,,,',,,,,'''.......'',,,;;:::;;;,',,,,;;;;;;;'.....,coddxxxxxxxxxxdddddddddddddxxxxddddddddddddddddddddddddooooooo
ooodddddddddddddddddddddddddddddddddddddddddddddddoc;'..............  ...............,,,,,,,,,,,,,,''''''',,,;;;::::;;,',,,;;;;;;;,.........,:ldddddxxdddddddddddddddxddddddddddddddddddddddddoooooooooo
oooooddooodddddodddddddddddddddddddddddddddoc:;,''.................   .................,,,;;;;;;,,,,,,,,,,,,;;;;::::;,',,;;;;;;;;,.............',coddddddddddddddddddxdddddddddddddddddddddddooooooooooo
ooooooooooooooooooooddoooooooooooddddddddl;........................   ...................,,;;;;;;;;;,,,,,,,,,;;::::;;,',;;;;;;;;'...................;coddddddddddddddxddddddddddddddddddddddoooooooooooo
oooooooooooooooooooooooooooc;,'.',;cc:;,..........................    ......................,;;:::;;;;,,,,,,,;;::::;,'',;;:::;'........................';codddddddddddddddddddddddddddddddoooooooooooooo
oooooooooooooooooooooooooc'................................ ......    ........................',:::::;;;;,,;;;;::;;;,,,;;:;,...............................,:loddddddddddddddddddddddddooooooooooooooooo
oooooooooooooooooooooooo;.........................................   ............................,::::::;;;;;;;:::;;,,,;,'....................................'cddddddddddddddddddddddoooooooooooooooooo
ooooooddddddddddddxdxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:;'..'''''''',;cldxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo,..
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc;,'''''''',,,,,,'''''''',;:cldxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd;..
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,'''''',,,,,,,,,,,,,,,,,,,,,'''...,:ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:..
oodddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,,,;;;;;;;;;;;;;;;;;;;;;,,,'''......,cokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl..
ddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOkkkkkkkkko:,,;;;;;;;;;;;;::;;;;;;;;;;;;;;;,,,''''''''...':okkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddo..
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkd:,,;;;;;;;;:::::::::::::;;;;;;;;;;;,,,,'''''''.....,ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd'.
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkOOOOOOOOOxc,,;;;;;;;:::::::::::::::::::;;;;;;;;;,,,,,''''''......'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd,.
ddddxxxxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOko;,,;;;;;::::::::::::ccc:::::::::::;;;;;;;,,,,,'''''.......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;.
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOo;,,,;;;::::::::::::ccccccc:::::::::;;;;;;;;;,,,,'''''.......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:.
ddxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd;,,,;;;;;;:::::::::::::c::::::::::::;;;;;;;;;;,,,,''''''......ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddc.
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOk;,,,,;;;;;::::::::::ccccc::::::::::::::;;;;;;;;,,,''''''''.....'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl.
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOl,,,,;;;;::::::::cccccccccc::::::::::::::;;;;;;;;,,,''''''''.....ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOx;,,,;;::::::::ccccccccccc::ccc::::::::;;;;;;;;;;;,,,,'''''''''...,kOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd'
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOo,,;;;:::::::::::::;;;,,'''',;:::::;;;;;;;;;;;;;;;;;,,,,''''''''..'dOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd,
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOk:,,;;;:::::;;;,'.....      ....',;::;;;;;;;;;;;;;;;;,,,'''''''''...lOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOl'''',,;;,,,,'..      .....     ...',;;;::::;;;;;;;;,,,,,''''....'..;OOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd:
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkd;.    ...''''.  .......',,;;'.         .......',,;;;,,,,,,'''........'xOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOo;,,c;.            ..............'.. ..'''.......       ......''''........'dOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOd:...:kkd......       .......     ....    ...........'........      ......'',,oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:   ..:xkk:....    ... ..'....    ..''.. .......',,;;;:::::;;;,,,'......',;:;,',ckOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd; .....','.  ....,::,. ..'.........''...',,,,,;;;::::::::::;;;,,,',;:ccc;,'''..'lkOkOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;.';oxxdo:.....;cclc'....',''''',,,,..';;::::::::cccc:::::;;;,,,,;::::,,;;:;,'';xkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd,;;lxxxxd:..':clllc:,...',;;;,,,,'..,::::cccccccccccc::::;;,,,,;;;;,,:cclc:;,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl'''oxxxo;,;:clllllcc;....',,,'...,;::ccclllllcccccc:::::;;,,,;;:c;...':cl:;;;ckkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,.,oddl,;:clooolllc:;,''''',;::::::cccccccccccccc::::;;;,,,,;:cll:;:;,;c:;:cxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:::;;;:cclllllllcc:;,,,;;::cccccccccccccccccccc::;;;,,,,,,;:ccc;:lo:;c::lxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd;,;;;,,'',,;;::;,,:cclllllllllccccccccccc:::;,,,,,,,,;::;,;:cc::;:oxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxdc'......    ....';:cllllllllllllcccccc::::;;;,,,,,,,,,;,;;:c:;;;cdxxxxxkkkxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxkkxxxkkkkkkkkkkkkxxxxxxddc,'........'',,;::ccllllllllllllcccccc:::;;;,,,,,,,,,,,;::::::cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxkkkxxxxxxkkkkkkkxxkkkkxxxxxxxxxxxxxxxxxxxxkkkkkkkkkxxxdddddd:,''....'',,,,;:::ccccclllllllcccccccc:::;;;;,,,,,,,,',:ccc:;oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxkkkxxxddddddd:,''','',,;;;;;;;;;;:::cccccccccccccc:::;;;;;,,,,,,'''..',,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddxxxddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd:'........'',;:::;;;;;;::ccccccccccc::::;;;;;,,,,,''''''',,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:'.............'',,,,,,;;:::::::::::::;;;;;;;;,,,'''',,,,,,:xdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddl'.......'''''.......'',,;;:::::::;;;;;;,,,,,,,''''',,;;;,,ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddo;..',,,,,,;;,,,,,,'''''',;;;;;;;;;,,,,,,,,,''''...',,;;;,,oddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddddddd
ddddxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddl'...........''',,,,,'''',,,,,,,,,''''''''''.....',,;;;;,;oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddc'..........''''''''''''''''''''''''...........'',;;;;,,;odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxdddddddddddddddddddddddo
ddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl'.....''',,,,,,'''''.........................'',;;;,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl'''''',,,,,,,,,,,,''''''....................''',,,,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddc'.....''''',,,,,,''''........................',,,,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo,.........''''''''..........................'',,,,,,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddodooool,..........................................'',,,,',,cdddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooooooooo:'..    .........................'''....''',,,,,',,;dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooooolc;,...         ............''''''''''',,,,,'',,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxdddddddddddddoooooooooooooooooollc:,......      .........'''''''''''',,,,,',,,,;ddxxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddddddddddooo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddddddddddoooooooooooooooollc;...''.......     ..............'.''',,,,,,'',,,,:dxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddddddxxxxxxxxdddddddddddddddoooooooooooc;;;'........''..........  ...............'',;;;;,,',,,,,,:oddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddddddddxxxxddddddddddddddddooooooolc:,. ............'''''''....................'',,;;;;;,,',,,;;;;;,,:cldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddooolc;,'....  .............''''''''''.............'',,;;;::;;;,',,,,;;;;;;;....:ddddxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxdddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl:,...........  .............',,,,,',,,,'''.......''',,;;:::::;;,',,,,;;;;;;;'....',coddxxxxxxxxxxxdddddddddddxxxxxddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddo:;'..............  ...............,,,,,,,,,,,,,'''''''',,;;;:::::;,'',,,;;;;;;;,.........,:ldddddxxddddddddddddddxxxxdddddddddddddddddddddddddooooooo
oooddddddddddddddddddddddddddddddddddddddddoc:;,''.................   .................,,;;;;;,,,,,,,,'',,,,;;;:::::;,',,;;;;;;;;,.............';codddddddddddddddddxxxddddddddddddddddddddddddddooooooo
ooooooooooooooooooooddooooooooooodddddddol;........................   ...................,,;;;;;;;;;,,,,,,,,;;;::::;;,',;;;;;:;,...................';codddddddddddddxdddddddddddddddddddddddddoooooooooo
oooooooooooooooooooodooooooc;'...';cc:;'..........................    ......................,;;:::;;;;,,,,,,,;;::::;,',;;;:::;'........................';codddddddddddddddddddddddddddddddddoooooooooooo
ooooooooooooooooooooooooo:'.......................................    ........................',:::::;;;,,,;;;;::;;;,,,;::;,...............................,:lodddddddddddddddddddddddddddddoooodooooooo
oooooooooooooooooooooooo;.........................................    ...........................,::::::;;;;;;::::;,,,,;,'....................................'cddddddddddddddddddddddddddoooooooooooooo
ooooooddddddddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:,'.''''''',;clodkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddo...
ooooooddddddddxdxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,'''''',,,,,'''''''''',,;cloxkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd'..
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,'''''',,,,,,,,,,,,,,,,,,,,'''....';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;..
oododddddddddxxxxxxxxxxxxxxxxkkkkkkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,,,,;;;;;;;;;;;;;;;;;;,,,,''''......':lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:..
ddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkko:,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,''''''''.....;lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddc..
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkd:,,;;;;;;;;:::::::::::::;;;;;;;;;;,,,,''''''''.....':dkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddl..
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkOOOOOOOOxc,,;;;;;;;;::::::::::::::::::;;;;;;;;,,,,,,''''''.......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo..
ddddxxxxxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOko;,,;;;;;:::::::::::::::::::::::::;;;;;;;;,,,,'''''''......,dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd'.
ddxxxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkl;,,;;;;;;:::::::::::ccccc:::::::::;;;;;;;;;,,,,''''''.......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd,.
dxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOl,,,,;;;;;;::::::::::::::::::::::::::;;;;;;;;;,,,,'''''''......,xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;.
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOx;,,,;;;;;:::::::::::::::::::::::::::::;;;;;;;;,,,,''''''''......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd:.
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOc,,,,;;;;:::::::::cccccccc::cc:::::::::;;;;;;;;;,,,,''''''''.....'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOx;,,;;;;;:::::::cccccccccccccccc::::::::;;;;;;;;;;,,,,,''''''''....lkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOl,,;;;:::::::::::::;;,,''',;::::::;;;;;;;;;;;;;;;;;,,,,'''''''''...;kOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOk:,;;;;;::;;;;,'......    .....,;::::;;::;;;;;;;;;;;;,,,,'''''''''..'xOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd'
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOl'',,,;;;;,,...      ....     ...',;;;;::::;;;;;;;;;,,,,,'''''...''..oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd,
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk:.  ...'''''.  .......,,,,'.          .......',,;;;;,,,,,''''.........:OOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOxc;;;.            .............'.. ..'''........       ........''..........,kOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOko'..:kk:....        .......     ...     ........''''''''......     ......',;;,xOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddc
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:. ...lkOx,...    ... ..'....    .''.. ........',;;::::::::;;;,,,'.....',;:;,'.':kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc. ....';:'   .  ':;.  .'..........'...',,,,,,;;::::::::::::;;;,,',;:ccc:,',,,..'lkOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd'.';odol:'....;ccc:.....',''''',,,..';;::::::::cccccc:::::;;;,,,;::::;,,;:::,'';xkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc,;clxxxxd,.';cllcc:'...';;;;,,,'..':::cccccccccccccc:::::;;,,,,;;;,',:clll:;;,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;'',oxxdo;;:cllllcc:,....',,'...',;::cclllllllcccccc::::;;;,,,;:cc;...';cl:;;:lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:..;dddl::cllolllcc:,''...',;::::::ccccccccccccccc:::;;;;,,,;;clll::c:,:l:::lxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkkkkkkkd:,;;;;:cclllllllcc:;,,,;;::cccccccccccccccccccc::;;;;;,,,,;:cccc;:oo::c::lxxkkkkkkkkkkkkkkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxd:;;;;,,,,;;:::;;,,:ccllllllllllcccccccccc:::;,,,,,,,,;;::,,;:c:::;:oxxxxkkkkkkxxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxkkkkkkkkkkkkkkkkkkxkkkkkkkkkkxkkxkkkkkkkkkkkkkkkkkkkkxxxxdl,.....    ....'';:clllloollllllccccc:cc::;;;,,,,,,,,,;;;;::::;;:ldxxxxxxkkkxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxkkxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxkkkkxkkkkkkkkkkkxxxxxddd:,........''',;::cclllllollllllccccccc:::;;;;,,,,,,,,,;:::::::cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxdddddd;,'.....',,,,;;::ccccccllllllcccccccc:::;;;;;,,;,,,,,',:ccc:;;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxkkkkxxxddddddo;'''''',,,,,;;;;;;;::cccccccccccccccc:::;;;;;;,,,,''''.'',,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;....'...',;;:::;;;;;;::ccccccccccc::::;;;;;;;,,,,'''',',,,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;.............',,,,,,,;;::c::::::::::;;;;;;;;,,,,'''',;;;,,,lxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddc........'''........'',,;;:::::::::;;;;;,,,,,,,''''',;;;;;,,odddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddo'.',,,,,,;;,,,,,'''''',,;;;;;;;;;;,,,,,,,,,''''...',;;;;,,;dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd:...........''',,,,,'''',,,,,,,,,,''''''''''.....',,;;;;,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd:..........'''''''''''''''''''''''''...........',,;;;;;,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd:......''',,,,,''''''........................'',,;;;;,,,;ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxdddxxxdddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc''''',,,,,,,,,,,,''''''.....................''',,;,,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo:....'''''',,,,,,,'''.........................',,,,,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoddol..........''''''''...........................',,,,,,,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddo
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoooooo:..........................................'.',,,,,,,,cdddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooooooool;.. . ..........................'''''..'''',,,,,'',,;dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooooolc:;'...         ...........'''''''''''',,,;,,'',,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxdddddddddddddooooooooooooooooolllc:,....       .........'''''''''''',,,,,,',,,,;dddxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxxdddddddddddooooooooooooooooolc:,...........      ..........''''..'',;;;,,'',,,,,:dxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddxxxxxxdxdddddddddddddoooooooooooooc;;;'...................  ................',,;;;;,'',,,,,,;lddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddxxxdddddddddddddoodoooooooolc:,. ............'''''.'....................',,;;;;;;,'',,,;;;;;,,:cldddddxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddoooooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooooolc;,'....  .............'''''''''.............'',,;;;:::;;;,',,,,;;;;;;;'...:odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoddooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddl;'...........  .............',,,,'',,,'''........'',,,;;:::::;,,',,,;;;;;;;;'.....,coddxxxxxxxxxxxxddxxxxdddxxxxxxddddddddddddddddddddddddooooooo
ddddddddddddddddddddddddddddddddddddddddddddddddddl:,'..............  ...............,,,,,,,,,,,,,'''.''',,,;;::::::;,',,,,;;;;;;;,.........,:lddddxxxdddxxdddddddddxxxxdddddddddddddddddddddddddooooooo
ooodddoooddddddddddddddddddddddddddddddddddoc:;''..................   .................,,,;;;,,,,,,,,,'',,,,;;:::::;;,',;;;;;;;;;,.............';codddddddddddddddddxxxdddddddddddddddddddddddddddoooooo
ooooooooooooooooooodooooooooooooodddddddol,........................   ...................,,;;;;;;;;,,,,,,,,,;;:::::;,',,;;;;;:;,...................';codddddddddddddxxxddddddddddddddddddddddddddooooooo
oooooooooooooooooooooooooooc;'...';cc:;'..........................    ......................,;::::;;;;,,,,,,,;;::::;,',;;;:::,.........................';coddddddddddddddddddddddddddddddddddddodooooooo
ooooooooooooooooooooooooo:'.......................................    ........................',:::::;;;,,,,;;;::;;,,,,;::;'...............................':lodddddddddddddddddddddddddddddddoddooooooo
oooooooooooooooooooooooo;.........................................   ............................,::::::;;;;;;;:::;,,,,;,.....................................'cddddddddddddddddddddddddddoooooodooooooo
ooooooddddddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''''',;:clodkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl..'
oooooodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:;,''''',,,'''''''''''',,;:codkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddo..'
oooododdddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;''''',,,,,,,,,,,,,,,,,,,,''''....';coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd'..
dddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,,,,,,,;;;;;;;;;;;;;;;,,,,'''.'.....',cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd,..
dddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkkkkd:,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''....':dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd:..
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOxc,,,;;;;;;;;::::::::::::;;;;;;;;;;,,,''''''''.......,okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd:..
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkOOOOOOOkl;,;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,''''''''......,dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl..
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd:,;;;;;;;:::::::::::::::::::::::;;;;;;;;,,,,,,''''''.......ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo..
ddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOl;,,;;;;;;;::::::::::cc:::::::::::;;;;;;;;;;,,,,'''''''.......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd'.
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;;;;;::::::::::::::::::::::::;;;;;;;;;,,,,''''''........lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd,.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOx;,,,;;;;;;:::::::::::::::::::::::::::::;;;;;;;,,,,,'''''''......'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOc,,,;;;;;;:::::::::cccc::::cc:::::::::::;;;;;;;;,,,,,'''''''......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd:.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOk;,,;;;;;:::::::cccccccccccccccc:::::::::;;;;;;;;;,,,,,''''''''....'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddc.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOo,;;;;::::::::::::::;,,,,;::::::::;;;::::;;;;;;;;;;,,,,'''''''''....oOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOO:,;;;;::;;;;;,''.....   ....',;::::;;::::::;;;;;;;;,,,,''''''''''...:OOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;;,'..       ..     ....,;;;;:::::;;;;;;;;;,,,,,'''''....'...,kOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd'
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOl.....'''''.   .  ...',,,.           .......'',,;;;;,,,,,''''.........'oOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd,
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOdc;;.      ...   .........'''..  .'''.........         ........''.........'cOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOk:..;xk'...        .......    ....    .........''''''''''......     ....';;;;,cOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;....lkko....    .  ..'....    .''.  .......'',;;:::::::::;;;;,,''''.',;:;,'...;kOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddc
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:  ...':lo'     .,;.  .'..........'. .',,,,,,;;::::cccc:::::;;;,,,;:cccc,'',;,'''ckOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko...'cc:,'. ...:cc:.....''''..'',' .,;;::::::::ccccccc:::::;;,,,,;::::;;;:cc:;,';xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:,;clxxxxo'.,ccllc:'...',;;,,,,'..,:::ccccccccccccccc::::;;,,,,;::;,.,:clll:;;;:xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,,';oxxdo;:cllllcc:,...',;;,...';;::cclllllllccccccc::::;;,,,;;clc;...';clc;::lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd,..;dddl:cllllllcc:,'.....';::::::ccccccccccccccc::::;;;;,,;;:cloc;:c:;;lc::lxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,.,;:::clooolllc::;,,,,;;::cccccccccccccccccccc::;;;;;,,,,;:ccc:;:oo::c::lxxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxl;;::;;;;::::::;,,::cllllllllllccccccccccc::;,,,,,,,,,;;:;,,;:cc::;:oxxxxxkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd:''....  ....''',:ccllllloollllcccccccc:::;;,,,,,,,,,;;;;::c::;;:lxxxxxxxkkkkxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxkkkkkkkkkkkkkkkkxxkkxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkxxxxxddc'.......'''',;:cccllllllllllllcccccc:::;;;;;;;;,,,,,,;::cccc:;oxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxddddd:,'....'',,,;;::ccccclllllllllllcccc::::;;;;;;;;,,,,,',:cc::;,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxddddd;''''',,,,,,;;;;;:::cccccccccccccccc::::;;;;;;,,,,''''..',,,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxdddddddd;..''...',;;::;;;;;;;::ccccccccccc:::::;;;;;;,,,,,''',,,,,,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:............',,,,,,,;;::cccccc::::::;;;;;;;;,,,'''',,;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddc..................'',,;;:::::::::;;;;;,,,,,,,,''''',;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd'.,,,,,,;;;,,,'''''''',;;;;;;;;;;;,,,,,,,,,''''..',,;;;;;,,:ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc'.........''',,,,,'''',,,,,,,,,,,,,'''''''......',,;;;;;,,:dddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd:..........'''''''''''''''''''''''''...........',;;;;;;,,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddc......'',,,,,''''''...'.''..''..............'',,;;;;;,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc''''',,,,,,,,,,,'''''''....................'''',,;;,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxdddddddddddddddddddddddo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd:....''''',,,,,,,''''.......................''',,,,,,,,,oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxddddddxdddddddddddddddddddddddo
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddoool.........'''''''''...........................',,,,,,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddxddddddddddddddddddddddddo
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoooooc..........................................'''',,,,,,,,cdddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddxxdddddddddddddddddddddddo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooool,...  ..........................'''''''''',,,,;,,',,,;dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooolc;,'...        .............''''''''''',,,;;,,',,,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddddddddddoooooooooooooooooolllc:;'....      .........'''''''''''',,,;;,,',,,,;dxxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxxdddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxdddddddddddoooooooooooooooooocc:'..........      ...........'''''''',;;;;,'',,,,,:dxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddxxxxxxdddddddddddddddooooooooooool:,,,'..................   ...............'',;;;;;,'',,,,,,;lddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddxddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooool:;'. ....... ....''''......................'',,;;;;;;,',,,,,;;;;,,:cldxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddooooollc;,'....  .............'''''''''............''',,;;:::::;;,',,,,;;;;;;;'...:oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc;'...........  .............',,,,'',,,'''........'',,;;:::::;;,,,,,,;;;;;;;;'....',codxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddddol:,...............  ...............,,,,,,,,,,,,,''''''',,;;;::::::;,',,,,;;;;;;;,.........':lddddxxxxxxxxddddddxdxxxxxxxddddddddddddddddddddddddddoooo
dddooddddddddddddddddddodddddddddddddddddddoc;,'...................   .................,,,,;;;;;,,,,,,'',,,;;;:::::;;,',;;;;;;;:;,.............';codddddddddddddddddxxxddddddddddddddddddddddddddddooooo
ooooooooooooooooooooooooooooooooodddddddoc,........................   ...................',;;;;;;;;,,,,,,,,,;;:::::;,',;;;;;::;,...................';codddddddddddddxxxddddddddddddddddddddddddddooooooo
oooooooooooooooooooooooooooc,'...',::;,'..........................    ......................,;::::;;;;,,,,,,,;;::::;,',;;;::;,.........................';coddddddddddddddddddddddddddddddddddddddooooooo
ooooooooooooooooooooooool;........................................   ..........................,:::::;;;,,,;;;;:;;;,,,,;:;,'...............................':lodddddddddddddddddddddddddddddddodddoooooo
oooooooooooooooooooooooo,.........................................   ............................,::::::;;;;;;::::;,,,,;,.....................................'cdddddddddddddddddddddddddddddddddooooooo
oooodddddddddddddddxdxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:,''''',;:cloodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:..'
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlc:;,'''''''''''''''''''',;:cldxkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddc..'
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,'''',,,,,,,,,,,,,,,,,,,,'''......,:ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddo..'
oddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,'',,,,,,;;,,;;;;;;;;;;;;,,,,''''.''.....':lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo..'
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkOkxc;,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''....';lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd,.'
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkl;,,;;;;;;;:::::::::::::::;;;;;;;,,,,''''''''.......'cxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd;..
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkkkOOOOOOOkd;,,;;;;;;:::::::::::::::::::;;;;;;;,,,,,,''''''''......'ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd:..
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOxc,;;;;;;;;::::::::::::::::::::::;;;;;;;;,,,,,''''''........,xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc..
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOd;,,;;;;;;;::::::::::cc::::::::::::;;;;;;;;,,,,,''''''........'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl..
xxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOd;,,;;;;;;;;:::::::::::::::::::::::::;;;;;;;;,,,,,'''''''.......,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo..
xxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOk;,,,;;;;;;::::::::::::::::::::::::::::::;;;;;;,,,,,''''''''......ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxdddd'.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOo,,,;;;;;;:::::::::cccc::::ccc:::::::::::;;;;;;;,,,,,,'''''''.....'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddd,.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOO:,,;;;;;:::::::cccccccccccccc::::::::::::;;;;;;;,,,,,,'''''''''....ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxdd;.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx;,;;;;::::::::::::;;,,,;:::::::::;;::::::;;;;;;;;;,,,,'''''''''....,kOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOl;;;;;;;;;;;;,,'..... ......,;::::;;:::::::;;;;;;;;,,,,''''''''''....dOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOx;,,;;;;;;,'..             ....';;;;::::::;;;;;;;;;,,,,,'''''....'....cOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOd'...',,,,'.   .  ...,,,.           .........',,;;;,,,,,,'''''.........,kOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOdc;.     ....  .........''''.  .''''.........          ..................''xOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxdddd'
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOx;..ox,..         ......     ...    .........''''''',,'''......    ...',::;;,,xOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,...;kOo....    . ...'...     .'.  ........',;;::::::::::;;;,,,'',,,,;::;'....'dOOOkkOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko  ...'ldx,.    .,,. ..'.........'.  ',,,,,,;;;:::ccccc::::;;;,,,,;:ccc:'',;;;,'';xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd:
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko....,;,'..  ..:cc;. ..''''...'',. .;;;;::::::ccccccccc:::;;;,,,;::::;;;::cc:;,',dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc';ccxxxxo,.,cclcc,....,;;;,'''. ';:::ccccccccccccccc::::;;,,,;;::;,.';clllc;;;;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;,,;oxxdd:;cllllcc;....,;;;'...,;::cccllllllllccccc::::;;;,,,;:cll:'''',:lc:::lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,..,oddl:cllllllc:;'......,;::::::ccccccccccccccc::::;;;;,,;;:clol;:ll;;cc:clxkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc'.,:c:ccloooolcc:;,,,,;;:::cccccccccccccccccccc:;;;;;,,,,;;:ccc:;:ll::c::lxxxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdoo:;:::;;::::cc:;;,,:ccllllllllllcccccccccc:::;,,;,,,,,,;::;',:ccc::;:oxxxxxkkkkxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxo;'''........'''';:ccllllloollllcccccccc:::;;;,,,,,,,,;;;;:c:::;::cxkxxxxxxkkkkxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxkkkkkkkkkkkkkkkxxxxkkkkxxxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxddc'.........'',;:cccclllllllllllcccccc:::;;;;;;;;,,,,,,;:ccccc:;;dxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkxxxdddddl,'....'',,;;:::ccccccllllllllllcccc::::;;;;;;;;,,,,,',:cc:;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxddddddc''''',,,,,,;;;;;:::cccccccccclccccc::::;;;;;;;;,,''''..'',,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxdddddddc'''''''',;:::;;;;;;;:cccccccccccc:::::;;;;;;;,,,,''',,,,,,,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddl...........',;,;,,,;;;:cccccccc:::::;;;;;;;;,,,''''',;;;;;,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddo..................'',,;::::::::::;;;;;;,,,,,,,'''.',;;;;;;,,:ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd;.,,,,,,;;;,,,''''''',;;;;;;;;;;;;,,,,,,,,,''''..',,;;;;;;,,:dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddo,'........'',,,,,,'''',,,,,,,,,,',,'''''''......',;;;;;;,,,cddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddl'.........'''''''''''''''''''''''''...........',;;;;;;;,,,cddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl'.....'',,,,,''''''...''.'''''..............''',,;;;;,,,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,'''',,,,,,,,,,,'''''''.....................'''',,;,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxxxdddddddddddddddddddddddo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddl'...''''',,,,,,,''''.........................'',,,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddxxdddddddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooo,........'''''''''...........................'',,,,,,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddxxdddddddddddddddddddddddd
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooooool..........................................'''',,,,,,,,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooo;.. . ..........................'''''''''',,,,;;,,',,,:dddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxdxxxddddddddddddddddddddddddo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddddddddoooooooooooolc;,'...        .............'''',,'''''',,;;;,,',,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxddddddddddddoooooooooooooooooolllc:,....       ........''''''''''''',,,,,,,',,,,;dxxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxddddddddddddooooooooooooooooolc:;'..........      ..........'''''''',;;;;;,'',,,,,;oxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddddddxdxxxdddddddddddddddoooooooooooool;,,,...................  ...........'...'',,;;;;,,'',,,,,,;ldddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxxddddddddddddddddddddddddddoooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooool:;'. ....... .....''''....................'',,;;::;;,,',,,,;;;;;,,;cldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooooolll:,'.....  .............'''''''''............'',,;;;:::::;,',,,,;;;;;;;;'...;oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc,............  .............',,,,',,,,''''......'',,,;;::::::;,',,,,;;;;;;;;......,:odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
oodddddddddddddddddddddddddddddddddddddddddddddddol;'...............  ...............,,,,,,,,,,,,,''''''',,;;:::::::;,',;,;;;;;;;;'.........':ldddddxxddddddddddxxxxxxxxxxdddddddddddddddddddddddddddooo
oooddddddddddddddddddddddddddddddddddddddddl:;,'...................   .................,,;;;;;;;,,,,,''',,,;;;:::::;,,,,;;;;;;;;;'..............,cldddddddddddddddddxxddddddddddddddddddddddddddddddoooo
ooooooooooddooooddoooooooooooollloddddddlc'........................   ...................',;;;;;;;;,,,,,,,,,;;:::::;,',;;;;;:;;,....................,:oddddddddddddxxxdddddddddddddddddddddddddddooooooo
ooooooooooooooooooooooooool:,....',::;,...........................    ......................,;::::;;;;,,,,,,,;::::;;,',;;:::;,.........................';coddddddddddddddddddddddddddddddddddddddooooooo
ooooooooooooooooooooooool;................................. ......   ..........................,;::::;;;,,,;;;;:;;;,,,;;:;,................................';coddddddddddddddddddddddddddddddddddooooooo
oooooooooooooooooooooooo,.................................. ......   ............................'::::::;;;;;;::::;,,,,;'.....................................':dddddddddddddddddddddddddddddddddooooooo
ooooooddddddddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,'''',;:cllodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxkxxkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;..'
oooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolc:;,'''','''''''''''''',,;:codkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:..'
oooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;''''',,,,,,,,,,,,,,,,,,,''''.....';coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl..'
oooddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl;',,,,,,,,;;;;;;;;;;;;;;;,,,,'''''''''....,cokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo..'
ddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkOko;,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,''''''''''....':okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkd:,,;;;;;;;;::::::::::;:;;;;;;;;;;,,,,''''''''.......,lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd,.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkc,,,;;;;;;:::::::::::::::::::;;;;;;;,,,,,,''''''''......,dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;.'
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOko;,;;;;;;;::::::::::::::::::::::;;;;;;;;,,,,,''''''''.......ckOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd:.'
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOkc,,;;;;;;;;::::::::ccc::::::::::::;;;;;;;;;,,,,,'''''.........:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc..
dxxxxxxxxxxkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOc,,;;;;;;;;;:::::::::::::::::::::::::;;;;;;;,,,,,,''''''........lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl..
xxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOo,,,;;;;;;;;:::::::::::::::::::::::::::::;;;;;,,,,,''''''''......'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxdddo'.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOk;,,,;;;;;::::::::::ccc:::cccc:::::::::::::;;;;;,,,,,,''''''''.....:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd'.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOd,,,;;;;;:::::::cccccccccccccc:::::::::::;;;;;;;;,,,,,,''''''''....'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd,.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOc,;;;;;:::::::::::;,,,',;::cc::::;;:::::::;;;;;;;;,,,,,'''''''''....lOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd;.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx;,;;;;;;;;;;,,'.....  .....';:::::;::::::::;;;;;;;,,,,,''''''''''...;kOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,;;;;;;,'..      .      .....,,,;;:::::;;;;;;;;;,,,,,,''''.....'...'dOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOl...',,,,'.   .  ...,;,.            .........'',,,,,,,,,'''''.........'cOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOkoc,     .....  ..........''.  ..''''.........           .............''''';OOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo.
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOo,.,do..         .......    ...     .......''',,,,,;;,,,''.....    ..',::;,,,;OOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd'
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl....okk,...    .  ..'....    .'.  ........',;;::::::::::;;;;,,'',;;;:c:;''....:kOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk,  ...:dkl.     ';. ..'.........'. .',,,;;;;;:::cccccc:::::;;;,,,;:ccc:,.,;:;;,',oOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;....,,,'.   .;:c:.  ..'''...'',. ';;;::::::ccccccccc:::::;;,,,;;:::;;::cccc:;,,:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx',;:lxxxd:.':cccc;.. .,;;;,'''. ';::ccccccccclcccccc:::::;;,,;;:::;..';clol:;;;lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko',,:dxxdl;:clllcc:'...',;;'...,;;:cclllllllllccccc::::;;;,,,;;cllc,,,,';cl:::cxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl...cddoccllllllcc:,'....',;::::::ccccccccccccccc::::;;;;,,,;:clll;:loc;:c:ccdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,..:cc:cloooollc::;,,,,;:::cccccccccccccccccccc:;;;;;;;,,,;:ccc;;:clc:c::ldkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolc;::::;;:::cc::;,,;:cllllllllllccccccccccc::;;,,;,,,,,;::;,,;ccc::;:oxxxxxxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxd:,'''........''',:cclllllloollllcccccccc::;;;;,;,,,,,;;;;:c::::::;lkkxxxxxkkkkxxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxkkkkkkkkkkkkkkkkkkxxkkkkkxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxxxd;.........'',;:ccccclllllllllllcccccc:::;;;;;;;;,,,,,;:cclcc:;,cxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxkkkkkxxxxxxxkkxxxxxxxxxxxxxxxxkkkkkkkkkxxxxxxdd:'.....'',,;;::ccccccllllllllllllccc::::;;;;;;;;,,,,,',:::;,,,;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxdddd;'''',,,,,,,;;;;;::ccccclllccllccccc:::;;;;;;;;,,,''''..'',,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd;''''.'',;;::;;;;;;;::cccccccccccc::::;;;;;;;;,,,''',,;;;,,,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd;...........',,,,,,,;;::ccccccc::::::;;;;;;;;,,,'''',;;;;;;,,:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddxdddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddc.................'',,;;:::::::::;;;;;;,,,,,,,'''.',,;;;;;;,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo.',,,,,;;;,,,'''''''',;;;;;;;;;;,,,,,,,,,'''''...',;;;;;;,,,cddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc'.........'',,,,,'''',,,,,,,,,,'',''''''''.....',;;;;;;;,,,cdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxdddddddddddddddddddd
ddddddddxxxxxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd:.........'''''''''''''''''''''''''...........'',;;;;;;;,,,cddddxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddc......'',,,,,''''''..''.'...''..............''',,;;;;,,,,cddddxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl''''',,,,,,,,,,,'''''''....................''''',;;,,,,,:ddddxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd:....''''',,,,,,,'''........................''',,,,,,,,,;dddddxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddxxxxdddddddddddddddddddddddd
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoool.........'''''''.............................'',,;,,,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddxxxxdddddddddddddddddddddddd
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooooo:.........................................''''',,,,,,,,,lddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxxdddddddddddddddddddddddo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooool,..   .........................'''''''''',,,,,;;,,',,,:ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxddddddddddddddddddddddo
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddddddddoooooooooooolc;,'...       .............''''',''''',,,,;;;,,',,,,oddxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxddddddddddddooooooooooooooooooollc:;,....      .........'''''''''''',,,;;,,'',,,,;dxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxddddddddddooooooooooooooooool:;,...........     ...........''''.''',;;;;,,'',,,,,;oxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddxxddddddddddddddoooooooooooooooc;'''...................  ...............'',;;;;;,,',,,,,,,;coddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooooc;,.. ....... .....'''''..................'',,;;;::;;,,,,,,,;;;;;,,;:codxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooooolcc:,'.....  .............'''''''''............'',,;;;:::::;,,,,,,,;;;;;;;'...;oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddoo:,............  .............',,,,',,,,'''.......'',,;;;:::::;;,',,,,;;;;;;;;......,:ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddolc,'..............   ...............,,,,,,,,,,,,,''''''',;;;::::::;;,,,;,,;;;;;;;'.........';cddddxxxxxxxxddxxdxxxxxxxxxxdddddddddddddddddddddddddddooo
ooooddddoodddddddddddddddddddddddddddddddddl;,'....................   .................',;;;;;;;;,,,,,'',,,;;;:::::;,,,;;;;;;;;;;'..............,:ldddddddddddddddxxxxxxxddddddddddddddddddddddddddddooo
ooooooooooooooooddddoooooooooolllodddddol:'........................   ...................',;;;;;;;;,,,,,,,,,;;:::::;,,,;;;;;:;;'....................,:lddddddddddddxxxddddddddddddddddddddddddddddoooooo
ooooooooooooooooooooooooool:,.....';;,'...........................    ......................';:::::;;;,,,,,,;;::::;;,,;;;:::;'..........................,:oddddddddddddddddddddddddddddddddddddddddooooo
ooooooooooooooooooooooool,........................................   ..........................,;:::::;;;,,;;;;:;;;,,,;;:;'................................';coddddddddddddddddddddddddddddddddddooooooo
oooooooooooooooooooooooo'.........................................   ............................';:::::;;;;;;:::;;,,,,,.......................................;oddddddddddddddddddddddddddddddddooooooo
oooooddddddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,'''',;:cloodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxkxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd,..'
ooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;,,''',,,,''','''''''',;;:lodkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkkkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd;..'
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:,'''',,,,,,,,,,,,,,,,,,,,''''.....';cokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd:..'
ooddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,',,,,,,;;;;;;;;;;;;;;;;;,,,,'''''''''...';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl..'
dddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOkkkkxc;,,,;;;;;;;;;;;;;;;;;;;;;;;;;,,,''''''''''.....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo..'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkl;,,;;;;;;;;::::::::::::;;;;;;;;;,,,,''''''''''......;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddo'.'
ddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd:,;;;;;;;;::::::::::::::::::;;;;;;;,,,,,,'''''''''......:xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd'.'
dddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkc;;;;;;;;;:::::::::::::::::::::;;;;;;;;;,,,,,''''''........'oOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd,.'
dxxxxxxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOx:,;;;;;;;;:::::::::cc::::::::::::;;;;;;;;;,,,,,''''''.........okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd:.'
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOx;,,;;;;;;;;;::::::::::::::::::::::::;;;;;;;;,,,,,''''''''......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxdddc..
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOc,,,;;;;;;;::::::::::::::::::::::::::::::;;;;;,,,,,''''''''......;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxddl.'
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOd,,,,;;;;;::::::::::c:::::ccc:::::::::::::;;;;;,,,,,,,''''''''.....okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo..
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOl,,;;;;;;::::::ccccccc::ccccc:::::::::::::;;;;;;;,,,,,'''''''''....;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd'.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOk;,;;;;;::::::::::;,,''',;:::::::;;:::::::;;;;;;;;;,,,,''''''''''...'xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOo,;;;;;;;;;;,''....    .....,;:::::::::::::;;;;;;;,,,,,,''''''''''...cOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd;.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOOOOk:,,;;;;;,,..       ..      ....,,,,;;;::;;;;;;;;;,,,,,,'''''.....'...,kOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOkOkOOOOOOOOOOOOOOOOOOOOOOk;...',,'''.  ... ..',;,.    ..  ..  ..   .....''''',,,,''''''.........'oOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOxl:'     ....  .............   ..''''............ ..       ..........'','''cOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddl.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkc'.:x:.          ......     ...  .  ......''',,,;;;;;;;,,''.....   .',;:;,,',lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc....dkx'...   .. ...'...    .''. ........',;;::::cc:::::;;;;,,',;;::c:;,'''..'lOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd'
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk. ....lxk:.    .;,. ..'.........'. .,,;;;;;;;:::cccccc:::::;;;,,,::ccc;'';:::;,';dOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko'....;,'..   ':cc;.  .',''..'',. .;;;:::::::ccccccccc::::;;;,,,;::;;;;cccllc;;,,okOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd.,::dxxxo;.;ccccc;. ..,;;;,''. .;:::ccccllccllcccccc::::;;;,,;;:c:,..';cloc;;::dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc',;cxxxdc:cclllcc;'...',,'...';;::ccllllllllcccccc::::;;;,,;;:cloc,,;,,;ll:::lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:..'oddl:cllllllc:;,'...',;::::::cccccccccccccccc:::;;;;;,,;::llol;:loc;cc:coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl'.':c::coooollcc::;,,,;;::ccccccccccccccccccccc:;;;;;;,,,;::cc:;;:cccc:;coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxooc;;:;;;;;::::::;',:ccllllllllllccccccccccc::;,,,,;,,,,;::;,;:cc::;;:dkxxxxkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxd:''...    ...''';:cllllllloolllcccccccc::;;;;;,;;;,,,;;;;:c::::::;dkkkxxxkkkkkkkxxxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxkkkkkkkkkkkkkkkkkxxxkkkkkxxxxkxxxxxxxxkkkkkkkkkkkkkxxxxxxo,.......''',;::ccccllllllllllllcccccc::;;;;;;;;;,,,,,;ccclcc;,,lxkkkxxxxxxxxxxxxxxxxkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxkxxxxxxxxkkkkxxxxxxxkxxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxddd,'....'',,,;;::ccccccllllllllllllcc:::::;;;;;;;;,,,,,',;;;;,,,:xxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxdddo,'''',,,,,,;;;;;;::cccccllccclllccc::::;;;;;;;;,,,'','.'',,,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxdddddddd,.''...',;;::;;;;;;;::ccccccccccc:::::;;;;;;;;,,,''',;;;;;,,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd'...........',,,,,,,;;:ccccccc::::::;;;;;;;;;,,,'''',;;;;;;,,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxxxxdddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd;.......'''.......'',,;:::::::::;;;;;;;,,,,,,''''.',;;;;;;,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddxddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddl.,,,,,,,;,,,,,,'''''',;;;;;;;;;;,,,,,,,,,'''''...',;;;;;;,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd:'.........'',,,,,'''',,,,,,,,,'',''''''''......',;;;;;;;,,,lddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd;........''''''''''''''''''''''''''...........'',;;;;;;;,,,ldddxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd:......',,,,,,'''''...'''''..'...............'',,;;;;;,,,,cdddxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddc'''',,,,,,,,;,,,'''''''....................'''',,;;,,,,,:ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo;....''''',,,,,,''''........................''',,;,,,,,,:ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooc.........'''''''............................'',,;,,,,,,;ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddooooo:.......................................''''''',,,,,,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxdddddddddddddddddddddddo
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooc,..    ....... ................'''''''''',,,,;;;,,',,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddddddoooooooooooolc:;,'...       ............'''',,'''''',,,;;,,'',,,,oddxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddddddddddooooooooooooooooooollc:;,.....     .........'''''''''''',,,;;,,',,,,,;dxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxddddddddddooooooooooooooooool:;,...........     .......''..''''.''';;;;;,,',,,,,,;oxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddxxxxdddddddddddddddoooooooooooooc,'''...................  ...............'',;;;;;;,',,,,;;,;codddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooolc;,.. ....... ....''''''..................'',,;;::::;,,,,,,,;;;;;,,;:coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooooolcc;''.....  .............'''''''''...........'',,,;;:::::;;,',,,,;;;;;;;;....;oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddol:'............  .............',,,,',,,,''''.....'',,,;;::::::;;,,,,,,;;;;;;;;......,:ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddoolc,...............   ...............,,,,,,,,,,,,,'''''',,;;;::::::;,',;;,;;;;;;;;..........';codxxxxxxxxxxxxxxdxxxxxxxxxxdddddddddddddddddddddddddddooo
oododooododddddddddddddddddddddddddddddddddc;,'....................   .................,,;;;;;;;;,,,,,,,,,,;;;:::::;,,,;;;;;;;;;,...............':lodddddddddddddxxxxxxxdddddddddddddddddddddddddddddooo
oooooooooooooooodooooooooooooolllodddddoc:........................    ...................',;;;:;;;;,,,,,,,,,;;:::::;,,,;;;;::;;'....................';lddddddddddxxxxxxdddddddddddddddddddddddddddoooooo
ooooooooooooooododooooooool;'.....,;;,'...........................    ......................';::::;;;;,,,,,,;;::;:;,,,;;:::;;'..........................,:ldddddddddddddddddddddddddddddddddddddddoooooo
ooooooooooooooooooooooooc,........................................   ..........................,;:::::;;;,,,;;::;;;,,,;;;;'.................................,:oddddddddddddddddddddddddddddddddddooooooo
oooooooooooooooooooooooo'.........................................  ..............................;:::::;;;;;;:::;;,,,,'.......................................,ldddddddddddddddddddddddddddddddddoooooo
oooooddddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;,'''',;:cclodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd,..'
oooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;,,''',,,,,,','''''''',;;clodkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkkxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd;..'
oooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl:,'''',,,,,,,,,,,,,,,,,,,'''''.....';coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd:..'
dddodddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc,,,,,,,;;;;;;;;;;;;;;;;;;,,,,'''''''''...';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddc..'
dddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkOOOkkkkkxc,,,;;;;;;;;;;;;;;;;;;;;;;;;;;,,,''''''''''.....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl..'
dddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkl;,,;;;;;;;::::::::::;;;;;;;;;;;;,,,,,'''''''''......;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo..'
dddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd:,;;;;;;;:::::::::::::::::::;;;;;;;,,,,,,,'''''''.......:xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd'.'
dddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkc;;;;;;;;::::::::::::::::::::::;;;;;;;;;,,,,,''''''........'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd,..
dxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOx:,;;;;;;;;:::::::::cc::::::::::::;;;;;;;;;,,,,,''''''.........okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;..
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx;,,;;;;;;;;;:::::::::::::::::::::::;;;;;;;;;,,,,,''''''''......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddc..
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOc,,;;;;;;;:::::::::::::::::::::::::::::::;;;;;,,,,,''''''''......;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxddl.'
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOx,,,;;;;;::::::::::::c::::cc::::::::::::::;;;;;;,,,,,,'''''''......dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo..
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOl,,;;;;;:::::::cccc:::::cccc::::::::::::::;;;;;;;,,,,,''''''''.....:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd'.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOk;,;;;:::::::::::;;,''..';;::::::;;;::::::;;;;;;;;;,,,,''''''''''...'xOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd;;;;;;;;;;;,'....      ....',:::::::::::::;;;;;;;,,,,,''''''.''''...lOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd;.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOk:,,;;;;;;,..      ....      ...''',,;;;;;;;;;;;;;,,,,,,'''''.....'...,kOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOk;...'','''.  .. ...',;,.    ......   .     ....'.'''',,''''''.........'oOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOdc:'      ...  ..............  .....................        .........',,,''lOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkc..cxc..         ......     ...  ..  .....'',,;;;;;;;;;;,,''..... ..';::,''',lOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddo.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:....dkx'...   .. ...'...    ..'.  .....''',;;::::cc:::::;;;,,,',;::cc:,'','..'cOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxddd'
xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk. ....cdxc     .;;. ..'.........'. .,,;;;;;;;:::cccccc:::::;;,,,,:::cc;'';:::;,',dOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd,....;;''.  .':cc:.  .',,''''',' .;;::::::::ccccccccc::::;;;,,,;::;;,;cclllc;;,,okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx.;;:dxxxd:.;cclcc;.. .,;;;,,'. .;::ccccclllllcccccc:::::;;;,,;;:c:,...,:loc;:::dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl',,:dxddc:cllllcc:,....''....,;;::ccllllllllccccc:::::;;;,,;;:cloc;;;;,;cl:::lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc...lddl:clollllc::,''''';:::::::cccccccccccccccc::;;;;;;,,;;:clll;:loc;cc:coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,..;:::cllllllccc:;,,,;;::ccccllcccccccccccccc::;,;;,,,,,,;:cc;;;:cccc:;cdxxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxddl;;;;;,,,;;::::;',:cclllllllllllccccccccc:::;,,,,;,,,,;;;;,;:cc::;;:xkxxxxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdc,'...    ....'';:clllllllollllcccccccc::;;;;;,;;,,,,;;;;:c::::::;dkkxxxkkkkkkxxxxxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkkkkkkkkkkkkxxxxxdd;.......',,,;::ccccllllllllllllccccc:::;;;;;;;;;,,,,,;ccclcc;,,oxkkxxxxxxxxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxkkkkxxxxxkxxkxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxxxdd,'....'',,,;;:::cccccllllllllllllccc:::;;;;;;;;;,,,,,',;;;,,,,cxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxxxxddo,'''',,,;,;;;;;;;:::cccllllcllllccc::::;;;;;;;;,,''','''',,,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxxddddddd,.......',;:::;;;;;;::ccccccccccc::::;;;;;;;;;,,'''',;;;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd,............''',,,,;;;ccc:cc::::::;;;;;;;;;,,,'''',,;;;;;,,,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd:......'',''......'',,;;:::::::;;;;;;;;,,,,,,'''..',;;;;;;,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddxxxxxddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo.',,,,,,,,,,,,,,''''',;;;;;;;;;;,,,,,,,,,''''....',;;;;;;,,,ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc'.........'',,,,,,''',,,,,,,,,''''''''''.......',;;;;;;;,,,ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd:........''''''''''''''''''''''''''..........''',;;;;;;,,,,ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddc.....'',,,,,,,'''''.'''''...................''',,;;;;,,,,cdddxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddl'''',,,,,,,,;,,,'''''''....................''''',;,,,,,,:dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddo:.....''''',,,,,''''.........................'',,;;,,,,,:ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddool.........''''''............................'''',;;,,,,,;ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooooc....................................''''''''',,;,,,,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddooooooool;'..     ..    ...............''''''''''',,,,;;,,'',,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddddddooooooooooooolc:;'...       ............'''',,,'''',,,,;;,,',,,,,odxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxdddddddddddooooooooooooooooooolllc:;,.....      ........'''''''''''',,,;;,,',,,,,;dxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddooooooooooooooooool:;,...........     .......'...''''.'',;;;;;,,,,,,,,,;oxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddxxxxddddddddddddddooooooooooooooc,'''...................  ..........'...''',;;;;;,,,,,,;;;;;codddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooool:;,.. ............''''''..................'',,;;::::;,,,,,,;;;;;;;';:coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooooolcc;'......  ............''''''''''...........'',,;;;:::::;;,',,,,,;;;;;;;'...;lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddddddool:'............  .............',,,,',,,,''''.....'',,,;;::::::;;,,,;,,;;;;;;;;......';cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddoolc,...............   ...............,,,,,,,,,,,,,,''''',,;;;::::::;;,,;;;;;;;;;:;...........,codxxxxxxxxddddxxxxxxxxxxxxxdddddddddddddddddddddddddddooo
ooodddddddddddddddddddddddddddddddddddddddoc;,'....................   .................,,;;;;;;;;,,,,,,,,,;;;;:::::;,,,;;;;;;;;;,...............';codddddddddddddxxxxxxxddddddddddddddddddddddddddddoooo
ooooooooooooooooddooooooodoooolllodddddol:.........................   ...................',;;;:;;;;,,,,,,,,,;::::::;,,;;;;;::;,'....................';codddddddddxxxxxxddddddddddddddddddddddddddddooooo
oooooooooooooooddoooooooool;'.....,;;,'...........................    ......................';:::::;;;,,,,,,;;::;:;,,,;;:::;,'..........................':lddddddddxxdddddddddddddddddddddddddddddoooooo
ooooooooooooooooooooooooc,........................................   ..........................,;:::::;;;,,;;;:::;;,,,;;;,'.................................,:lddddddddddddddddddddddddddddddddddooooooo
oooooooooooooooooooooool'.........................................   .............................;:::::;;;;;;:::;;,,,,'.......................................,ldddddddddddddddddddddddddddddddoooooooo
ooooodddddddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlc;,'''',,;:clodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxkxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd,..'
oooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:;,,''',,,,,,,,,,'''''',,;:lodkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd;..'
ooddodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,'''',,,,,,,,,,,,,,,,,,,,''''.....';coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd:..'
odddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,,,,,,,;;;;;;;;;;;;;;;;;;;,,,,''''''''...',cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl..'
dddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkl;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''.....':dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo..'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOkkkkkkOOOOkOOOOOkd;,,;;;;;;;:::::::::::;::;;;;;;;;;,,,,'''''''''......,okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOxc,;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,,''''''''......;xOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd,..
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOko;;;;;;;;;:::::::::::::::::::::;;;;;;;;;,,,,,''''''''......'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;.'
dxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkc,,;;;;;;;::::::::ccc:::::::::::::;;;;;;;;;,,,,'''''''........lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd:.'
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOc,,;;;;;;;;:::::::::::::::::::::::::;;;;;;;;,,,,,''''''''.......dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxddc..
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOo,,,;;;;;;:::::::::::::::::::::::::::::::;;;;;,,,,,''''''''......,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.'
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOk;,,,;;;;;::::::::::cccc:::cc:::::::::::::;;;;;;,,,,,,,'''''''.....okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo..
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd,,;;;;;;::::::cccc:::::cccc:::::::::::::;;;;;;;;,,,,,,''''''''....;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd'.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOl,;;;:::::::::::;;,'...',;;:::::;;;:::::::;;;;;;;;,,,,''''''''''....dOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk;;;;;;;;;;;,'...       .....,;:::::::::::::;;;;;;,,,,,,''''''''''...cOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd;.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOl,,,;;;;;,..      ....        ..''',,,,;;;;::;;;;,,,,,,,''''.....'...'xOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOc....'''''.  ......',,,,.   ....... ...     .......''',,'''''.........'oOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOdc:,.     ...   .............   .....................        ........',,,''cOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.
xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkl'.;xx...        ......     ...   .  .....'',,;;;;:::;;;,,,''.... ..',::;''''lOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxkkkxxkkkxxxxxxxxxxxxxxxxxxxxxxdddo.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc....lkO:...    .  ..''...    .''  ...''''',,;::::ccc::::;;;;,,',;::ccc;'',''..:kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxkkxxxxxxxxxxxxxxxxxxxxxxxxddd'
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;  ...,ldo.    .,:, ..'.........''  ,,;;;;;;;:::cccccc:::::;;;,,,;:::c:'';:::;,',oOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc....;:,'.. ..:ccc'  ..,,,'''',,. ';:::::::cccccccccc:::::;;,,,;;:;;,;cclllc:;,,ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;,,clxxxdl.,:clccc,. .';;;;,'.. ';::ccccllllllcccccc::::;;;,,;;:cc;...':col:;::okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd',';dxxdo:clllllcc;..........';;;:cclllllllllccccc::::;;;,,,;:clol;;;;,;cl::clkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd'..:ddoccllolllcc:;,''',;:::::::cccccccccccccccc:::;;;;;;,;;:clll;:lol;:c:clxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:'.,:::clllllllcc:;;,,;;:ccccclllcccccccccccccc::;;;;,,,,,;::c:;;:cccc:;:oxxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxd;;;;,,',,,;;::;,,;cclllllllllllccccccccc:::;;,,,;;,,,;;;;,;:cc:;;;:dkxxxxkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxo;'....   .....';:cclllllloollllcccccccc::;;;;;;;;,,,,;;;:c::::::;dkkkxxkkkkkxxxxxxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxxkkkkkkkkkkkkkkkxxxxxxdc'......'',;;::ccccllllllllllllcccccc:::;;;;;;;;,,,,,;:ccccc;,'lxkkkxxxxxxxxxxxxxxkxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxkkxxxxxxxkkkkxxxxxkkxkxxxxxxxxxxxxxxxxkkkkkkkkkkkxxxxxxdd:'....'',,,;;::::cccccllllllllllllcc::::;;;;;;;;,,,,,'',;;,,,,:xxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxxddddd;''''',,;;;;;;;;;;::cccclclcclllcccc:::;;;;;;;;,,,'','''',,,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxxxdddddd:........',;::;;;;;;;::cccccccccc:::::;;;;;;;;,,,''',,;;;;,,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:.............''''',,,;:cc::c:::::::;;;;;;;;,,,,'''',;;;;;;,,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddl.....'',,,''......'',,;::::::::;;;;;;;,,,,,,'''..',,;;;;;;,,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddxdddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd,',,,,,,,,,,,,,,,,''',,;;;;;;;;;,,,,,,,,,''''....',;;;;;;,,,ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddo'.........'',,,,,,'''',,,,,,,,'''''''''''......',;;;;;;;,,,lddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddl'.......''''''''''''.'''''''''''.'...........'',;;;;;;;,,,ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddl'....'',,,,,,,,''''..''''...................''',,;;;;,,,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,'''',,,,,,,;,,,,''''''....................''''',;;,,,,,:dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddc.....''''',,,,,,'''..........................',,;;,,,,,;dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddooo'........''''''.............................''',;;,,,,,,oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooool'.................................'.''''''''',,;;,,,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooo:,..            ...............'''''''''',,,,;;;,,',,,:dddxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddddddoooooooooooooolc:,'...       ...........'''',,,'''',,,,;;;,,,,,,,ldxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxdddddddddddddoooooooooooooooooollc:;,.....      ........'''''''''''',,;;;;,',,,,,;oxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddxxxxxxxxxxxddddddddddoooooooooooooooooool:;,...........     ...........''''.''',;;;;;,,,,,,,,;lxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddxxxxxxdddddddddddooooooooooooooc,.''...............................''...'',;;;;;,,,,,,,;;;;:ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooolc;,.. ............'''''''.................'',,;;::::;,,,,,,,;;;;;;,,;:ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooooolcc;'......  .............''''''''''..........'',,;;;:::::;;,,,,,,,;;;;;;;'...,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddol:'............  .............',,,,',,,,,,'''....'',,,;;::::::;;,,,;,,;;;;;;;;......';cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddoolc,...............   ...............',,,,,,,,,,,,'''''',,;;;:::::::;,,,;;;;;;;;:;'..........,:odxxxxxxxxxxdxxxxxxxxxxxxxxxddddddddddddddddddddddddddooo
oooooddddddddddddddddddddddddddddddddddddddc;,'....................   .................',;;;;;;;;;,,,,,,,,,;;;:::::;,,,;;;;;;;:;,...............';codddddddddddddxxxxxxxddddddddddddddddddddddddddddddoo
ooooooooodooddddddddoodddooooolllodddddol:.........................   ...................',;;;:;;;;;,,,,,,,,;;:::::;,,,;;;;::;;'....................';codddddddddxxxxxxdddddddddddddddddddddddddddddoooo
oooooooooooooooddoooooooool;'.....';;,'...........................    ......................';:::::;;;,,,,,,;;::;:;;,,;;:::;;'..........................';coddddddxxdddddddddddddddddddddddddddddddooooo
ooooooooooooooooooooooool,........................................   ..........................';::::::;;;;;;;:::;;,,,;;;,'.................................,:ldddddddddddddddddddddddddddddddddddoooooo
oooooooooooooooooooooooo'.........................................   .............................,:::::;;;;;;:::;;,,,,'.......................................'cddddddddddddddddddddddddddddddddooooooo
oooooddddddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,''''',;:clodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd,..'
oooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol::;,''',,,,,,,,,,'''''',,;:codkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd;..'
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;'''',,,,,,,,,,,,,,,,,,,,,''''....',:oxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd:..'
odddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;,,,,,,,;;;;;;;;;;;;;;;;;;;,,,''''''''....,cokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl..'
dddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkd:,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,''''''''....'':okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo..'
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOkkkkkOOOOOOOOOOOOOx:,,;;;;;;;:::::::::::::::;;;;;;;;,,,,,'''''''.''....,lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkl;,;;;;;;::::::::::::::::::::;;;;;;;;,,,,,''''''''......,dOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd,.'
ddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd:,;;;;;;:::::::::::::::::::::::;;;;;;;;;,,,,,''''''........ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;.'
dxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOl;,;;;;;;;;:::::::cccc::::::::::::;;;;;;;;;,,,,,''''''........ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:.'
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOo,,;;;;;;;;;:::::::::::::::::::::::::;;;;;;;;,,,,,'''''''.......lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxddc..
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOx,,,,;;;;;:::::::::::::::::::::::::::::::;;;;;;,,,,''''''''......'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxddl..
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOl,,,;;;;;::::::::cccccc:::cc::::::::::::::;;;;;,,,,,,,'''''''.....ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo..
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOk;,;;;;;:::::::ccccc:::::cccc:::::::::::::;;;;;;;;,,,,,'''''''''...'kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd'.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOd;;;;:::::::::::;;,'....',;;:::::;;;::::::;;;;;;;;,,,,,''''''''''...lOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOc,;;;;;;;;;,'....       ....',:::::::::::::;;;;;;;,,,,,''''''''''...;OOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd;.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,;;;;;,'.       ....        ....',,,,,;;;:;;;;;,,,,,,''''.....'...'dOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOkOOOOOOOOOOOOOOOOOOOOOOOOOo.....''''.  .......',;,'    ..........      ......''',,'''''.........'cOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOxc:;.       .   ..............  ......................       .........',,'':OOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkxkxxxxxxxxxxxxxxxxxxxxxxddl.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOo,..dk,...       .......     ...  .   .....',,;;;;::::;;;,,''.... ...,;:;,''':OOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxkkxkkkkxxxxxxxxxxxxxxxxxxxxxxddo.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl....;kko....   .. ...'...  . .''.  ..'''''',;;:::ccc:::::;;;,,'',;:ccc;,',,'..,xOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxddd'
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl  ....:od'     ';:.  .'.........'. .,;;;;;;;:::ccccccc::::;;;,,,;:::c:,',;::;,''ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxdd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd....;::,'.  .;ccc:.  .',,,'''',' .;:::::::ccccccccccc::::;;,,,,;:;;;,:cllll:;,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl';::xxxxo,':cllcc:.. .,;;;;,'. .;::cccclllllllcccccc::::;;,,;;:cc:...';cll:;::ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'.,lxxdd::cllllcc:,.........',;;::clllllllllccccc::::;;;;,,;;:loo:;;;,,:l::ccxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;..'oddc:cloolllcc:,,'',,;:::c::ccccccccccccccccc::;;;;;;,,;:clll:;coo::l::lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko,.';:::cllllllccc:;;,,;::ccclllllccccccccccccc::;,;;;,,,,;::c:;;::ccc:;:lxxkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxc;;;;,''',,,;;;;',:cllllllllllllccccccccc::;;,,,;;,,,,;;;;;;cc::;;:dkkxxxkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxdc,....   .....',:cclllllooollllcccccccc::;;;;;;;;,,,,;;;::::::::;okkxxxkkkkkkkxxxxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkxxxxxkkkkkkkkkkkkkkkxxxxxxdo'......'',;;::cccccllllllllllllccccc:::;;;;;;;;;,,,,,:ccccc:,'cxkkkxxxxxxxxxxxxxxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxkkxxxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkxxxxxxddl,'...'',,,,;;:::cccccllllllllllllccc:::;;;;;;;;;,,','.,,;;,,,;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxxddc''''',,;;;;;;;;;;:::ccccclcclllcccc::::;;;;;;;;,,,'',''',,,,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxdddddddl'........',:::;;;;;;::cccccccccc:::::;;;;;;;;,,,''',,;;;;;,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddo...............'''',,;;:c::::::::::;;;;;;;;,,,,'''',;;;;;;,,:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd'..'.'',,,,,'.....''',;;:::::::;;;;;;;;,,,,,''''..',;;;;;;,,cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddc.,'',,,,,,,,,,,,,'''',;;;;;;;;,,,,,,,,,,''''....',;;;;;;;,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd;..........'',,,,,,'''',,,,,,,,''''''''''......',;;;;;;;;,,cddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddo,........''''''''''''.''''''''''.............'',,;;;;;;,,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd;....''',,,,,,,,''''.''''....................'',,;;;;,,,,:dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:'''',,,,,,,,;,,,,''''''...................''''',;;,,,,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo'......''',,,,,,''''.........................'',;;,,,,,,odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoo:........'''''''............................''',;;,,,,,,lddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddoooooo:.................................''''''''''',,;;,,,,,,cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooooooool;'..            ..............'''''''''',,,,,;;,,,,,,;dddxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddddddooooooooooooooll:;,'..       ...........''''',,'''',',,;;;,,',,,,ldxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddddddddddddodooooooooooooooollc:;,......     ........'''''''''''',,;;;;,,,,,,,;oxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxddddddddddooooooooooooooooool:;,............     ..........''''.''',;;;;;,,,,,,,,;lddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddxxddxddddddddddooooooooooooooc,.''...................................''',;;:;;;,,,,,,;;;;:lodddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooolc;,.. ............''''''''................'',,;;::::;;,,,,,,;;;;;;,,;:ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooooolc::,......  .............''''''''''..........'',,,;;:::::;;,,,,,,;;;;;;;;'...'lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddoo:,............  ..............,,,,',,,,,,'''....'',,,;;:::::::;,,,;,,;;;;;;;;......';codxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddddddddddddddddddddddddoolc,................  ...............',,,,,,,,,,,,,''''',,;;;:::::::;,',;;;;;;;::;'..........,:ldxxxxxxxxxxdddddxxxxxxxxxxxdddddddddddddddddddddddddddoo
oooodddddddddddddddddddddddddddddddddddddddl;,'....................   .................',;;;;;;;;;,,,,,,,,,;;;:::::;;,,;;;;;;;;;;................,:ldddddddddddddxxxxxxxdddddddddddddddddddddddddddddooo
oooooooooooddodddddoooddddddoolccloddddol:'........................   ....................,;;;::;;;;,,,,,,,,;;:::::;,,,;;;;:::;'.....................,codddddddddxxxxxddddddddddddddddddddddddddddddoooo
oooooooooooooooodddoooooool:,.....';;,'...........................    ......................',;::::;;;,,,,,,;;::;;;;,,;;:::;;'..........................';codddddxxxxddddddddddddddddddddddddddddddooooo
ooooooooooooooooooooooool;........................................   ..........................',::::::;;;;;;;::::;,,,;;;,'.................................';codddddddddddddddddddddddddddddddddooooooo
oooooooooooooooooooooooo,.........................................   .............................';:::::;;;;;:::;;,,,,'.......................................':ddddddddddddddddddddddddddddddddooooooo
ooooodddddddddxdddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;''''',;:clodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd;..'
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolc:;,''',,,,,,,,,,'''''',,;:codxkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd:..'
ooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;'''',,,,,,,,,,,,,,,,;,,,,''''....',:ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddc..'
oddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkkxc,,,,,,;;;;;;;;;;;;;;;;;;;;,,,'''''''''...,:oxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddl..'
dddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkkOkkkkxc;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,''''''''.....';lkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo..'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkOOOOOOOOOOOkl;,;;;;;;;::::::::::::::;;;;;;;;;,,,,,'''''''.......'ckOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd;;;;;;;;::::::::::::::::::::;;;;;;;;,,,,,,'''''''......'lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd,.'
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOxc,;;;;;;;:::::::::cc:::::::::::;;;;;;;;;;,,,,''''''........:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd;.'
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd;,;;;;;;;;::::::::cccc:::::::::::;;;;;;;;;;,,,,''''''........;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:.'
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOx;,,;;;;;;;;;:::::::::::::::::::::::;;;;;;;;;,,,,,''''''........:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl..
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOO:,,,;;;;;;::::::::::::::::::::::::::::::;;;;;;,,,,'''''''''......dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxddo..
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOd,,,;;;;;::::::::cccccc:::ccc::::::::::::;;;;;;;,,,,,''''''''.....;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd'.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOc,;;;;;;;::::::ccccc::::ccccc::::::::::::;;;;;;;;,,,,,'''''''''....dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOk;;;;;::::::::::;;,,'....,,;:::::;;;:::::::;;;;;;;;,,,,''''''''''...:OOkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxd;.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOo;;;;;;;;;;,,....       .....';:::::::::::::;;;;;;,,,,,''''''''''...'kOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOkOOOOOOOOOOOOOOOOOOOOOOOOk;,,,;;;;;,..      ....         ....,,,,,,;;::;;;;,,,,,,'''''....''..'oOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOx'....'''''.  ......',,,;.   ..........      .......''',''''''........':OOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOkl:;.           ..............   .....................        ........',,'',kOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxkxxxxxkxxxxxxxxxxxxxxxxxxxxxxxddo.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOd;..okl....       ......     ...   .   ....'',;;;;;:::;;;,,,'..... ..';::,''';kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxddo.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko, ...xkk,...   ..  ..'.... . ..''  ..'''''',;;::::ccc:::::;;,,,',;::cc:,',,'..'oOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxddd'
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx. ....;ldc.    .;:'  .'.'.......''  ,;;;;;;;::::cccccc:::::;;,,,,:::::;',;::;,,';xOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,..''c:;'.. .':ccc'  ..,,,'''',,. ';::::::ccccccccccc:::::;,,,,;::;;,:cllll:;;,;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd;
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx';;cdxxxd:.;ccllcc,. .';;:;,'. .,;::ccccllllllcccccc::::;;;,,;;:c:,...,:llc;:::xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko'''cdxddl:cllllccc;..........,;;::ccllllllllccccc:::::;;;,,;;:cloc;;;,,:lc::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl...lddlcclooollcc:;,'',,;:::c::ccccccccccccccccc::;;;;;;,,;::cllc;:oo:;c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:'';;::clllllllcc::;,,;::ccclllllcccccccccccccc:;,;;;;,,,,;:cc;;::cccc:;cdxxkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxd;;;;,''''',;;;;,,:ccllllollllllccccccccc:::;;,;;;;,,,;;;;,;ccc:;;:lxkxxxkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxo;.....  ......';:cllllllooollllccccccc::;;;;;;;;;,,,;;;;:::::::;lkkkxxxkkkkkxkxxxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkxxxkkkkkkkkkkkkkkkkxxxxkkxxxxkkkkkkkkkkkkkkkxxxxxxxd;......'',,;:::cccclllllllllllllcccc::::;;;;;;;;,,,,,;ccccc:;,:xkkkxxxxxxxxxxxxxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxkkxxxxxxxkkkkkkxxxxxxkkxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxxxxdo,'....',,,,;;;:::ccccllllllllllllccc::::;;;;;;;;,,,''.,,;;,,,,dxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxxxdddo,',''',,;;;;;;;;;;::cccclllccllccccc:::;;;;;;;;,,,'',''',,,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxddddddo'........',;::;;;;,;:::cccccccccc:::::;;;;;;;;,,,'',,;;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd,..............'''',,,;:cc::c:::::::;;;;;;;;,,,'''',,;;;;;,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd:..''.',,,,,'......'',,;:::::::;;;;;;;;,,,,,,'''..',;;;;;;,,:dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddo.'''',,,,,,,,,,,,,''',;;;;;;;;;,,,,,,,,,'''''...',,;;;;;;,,:ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddc..........''',,,,,'''',,,,,,,,''''''''''.......';;;;;;;;,,:dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddxxxxddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd:........''''''''''''''''''''''''.'...........',,;;;;;;,,,:ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddc....''',,,,,,,,,'''..'''....................''',;;;;,,,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddl''''',,,,,,,,;,,,''''''....................'''',,;,,,,,,dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo;......'''',,,,,''''.........................'',,;;,,,,,odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddol.........''''''............................''',,;,,,,,,cdddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddxdxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooooc.................................'''''''''''',,;,,,,,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxddddddddddddddddddooooooooo:,...           ...............'''''''''',,,,;;,,,,,,,odxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooooollc:;,..       ............'''',,,''',',,,;;,,,,,,,cxxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxdddddddddddddodoooooooooooooooolll:;,'.....     ........''''''''''''',;;;;,,,,,,,,lxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddoooooooooooooooool:;,............     ...........'''..'',;;;;;,,,,,,,;,cdxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddxxxxddddddddddddooooooooooooool;.''.................... ...........'..''',;;:;;;,,,,,,;;;;:loddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooooolc;,.. ....... ....''''''''................'',,;;::::;;,,,,,,;;;;;;,,;:ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooooolcc:,....... .............'''',,'''''.........'',,,;;::::::;;,,,,,,;;;;;;;,...'cddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc,............  ..............,,,,',,,,,,,''.....'',,;;;::::::;,,,,;,;;;;;;;;'.....',:oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
oddddddddddddddddddddddddddddddddddddddddddddddoolc;................  ...............',,,,,,,,,,,,,''''',,;;;:::::::;,',;;;;;;;::;,..........':ldxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
oooodddddddddddddddddddddddddddddddddddddddl;,'....................   .................',;;;;;;;;;,,,,,,,,,;;;::::::;,,,;;;;;;;;;'...............,:lddddddddddxxdxxxxxxxdddddddddddddddddddddddddddddooo
ooooooooooooooodddddoooddddooolccloddddol:'........................   ....................,;;;:;;;;;;,,,,,,,;;:::::;,,,;;;::::;'.....................,:odddddddddxxxxxxddddddddddddddddddddddddddddddooo
ooooooooooooooooddddooooool:,.....',;,,............................   .......................,;:::::;;;,,,,,;;:::;:;,,,;::::;'..........................';coddddxxxxxxdddddddddddddddddddddddddddddddooo
ooooooooooooooooooooooooo;.........................................  ...........................,::::::;;;;;;;::::;,,,;;;;'.................................';codddddddddddddddddddddddddddddddddddooooo
oooooooooooooooooooooooo;.........................................   .............................';:::::;;;;;::::;,,,,'.......................................':ddddddddddddddddddddddddddddddddddooooo
oooooddddddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl:;''''',;:clodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:..'
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdlc:;,''',,,,,,,,,,'''''',,;:cldxkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd:..'
oodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxo:,'''',,,,,,,,,,,,,,,,,,,,''''....',:ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl..'
oodddddddddddxxdxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;,,,,,,;;;;;;;;;;;;;;;;;;;,,,'''''''''...':lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo..'
ddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkkl;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''....',lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOko;,;;;;;;;::::::::::::;:;;;;;;;;;;,,,,''''''''.'....':xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd,.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx:;;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,,''''''''.....'ckOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;.'
ddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkl;;;;;;;;:::::::::cc::::::::::::;;;;;;;;;,,,,,''''''.......,xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd:.'
ddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk:,;;;;;;;;::::::::cccc:::::::::::;;;;;;;;;;,,,,'''''''.......'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.'
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOO:,,;;;;;;;;;::::::::::::::::::::::::;;;;;;;;,,,,,''''''''......;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxddl..
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOl,,,;;;;;;:::::::::::::::::::::::::::::::;;;;;,,,,,,'''''''......lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxddd..
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOk;,,;;;;;::::::::cccccccc:cccc::::::::::::;;;;;;,,,,,,''''''''....'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxdd'.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo,,;;;;;;::::::ccccc:::::cccc:::::::::::::;;;;;;;,,,,,'''''''''....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxd,.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOc,;;;:::::::::::;;,'....',;;::::;;;;:::::;;;;;;;;;,,,,''''''''''...,kOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd;.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOk;;;;;;;:;;;,'...       .....',:::::::::::::;;;;;;;,,,,,'''''''''...'dOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOc,,,;;;,;,'.      .....        ....',,,,,;;:::;;;,,,,,,,''''....''...cOOOOOOOkOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdc.
xxxxxxkkxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOk;.....''''.  ......'',,;'   ...........     .......'',,,'''''.....'...,kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOko:;,        .   ..............  .....................       .........',,,''xOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxddo.
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOx:..:kx....       ......      ...  .   .....',,;;;;::::;;;,,''.... ..',;:;,'',xOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxddd'
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOd;....okO:....   .. ..''... .. .''. ..'''''',,;::::ccc:::::;;;,,'';::ccc;''''..'ckOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk,  ...,coo.     ,:;. ..''........'. .,;;;;;;;:::cccccc:::::;;;,,,;::cc:'',;::;,',dOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxdd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl...'cc:,.....:ccc;.  .',,,''',,. .;::::::ccccccccccc:::::;;,,,;;:;;,;cclllc;;,,okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;,,:lxxxxl.,:cllcc;.. .,;:;,,'. .;::ccccllllllcccccc::::;;;,,;;:cc;...,:loc;;::dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx',';dxxdo:clllllcc:'.........';;;:cclllllllllccccc::::;;;,,,;:clol;;;;,;cl::clkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd'..:ddoccloooollc:;,,'',;;:::c:cccccccccccccccccc::;;;;;,,,;:clll;:loc;cc:coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc,.;;::clllllllccc:;,,;:::cclllllcccccccccccccc::;,;;;,,,,;:cc:;;:cccc:;coxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxx:;;;,,''''',;;;,';cclllloollllllccccccccc::;;,,;;;,,,;;;;,;:cc:;;;cxkkkxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxd:'....  ......',:cclllllooollllcccccccc::;;;;;;;;;,,;;;;:c:::::;:xkkkxxkkkkkkkxxxkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkxxkkkkkkkkkkkkkkkkkxxxxkxxxxxxkkkkkkkkkkkkkkkxxxxxxxc'......'',;;::ccccllllllllllllllcccc:::;;;;;;;;,,,,,;:cclcc;,;xkkkkxxxxkxxxxxxxxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkxxxxxxxxxxxxxkkkkkkkkkkkkxxxxxxxdd;'....',,,,,;;:::cccccllllllllllllccc:::;;;;;;;;,,,,,.',;;,,,,oxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxdddd,''''',,;;;;;;;;;;:::ccclllcclllcccc:::;;;;;;;;,,,'','''',,,,;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxxxdddddd;.........';:::;;;,;;::cccccccccc:::::;;;;;;;;,,,''',,;;;,,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxdddddddd:...............''',,;;::c::cc:::::::;;;;;;;,,,,'''',;;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddl..'''',,,,,,'.....'',,;:::::::;;;;;;;;,,,,,,''''.',,;;;;;,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd,','',,,,,,,,,,,,,,'',,;;;;;;;;,,,,,,,,,,''''....',;;;;;;,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddl'.........''',,,,,'''',,,,,,,,''''''''''.......',;;;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddddddddxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddl'.......''''''''''''''''''''''''.'...........'',;;;;;;,,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo'...''',,;,,,,,,'''''''''...................''',,;;;;,,,,oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo,'''',,,,,,,,;;,,,''''''...................''''',;,,,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddc......'''',,,,,'''''........................'',,;,,,,,,ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo'........''''''............................''',,;,,,,,,:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddooooool'................................'''''''''''',,;,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooooc,...           ...............'''''''''',,,,;;,,,,,,,oddxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooooooolc:;,'..      ............'''',,,''',',,,;;,,,,,,,:dxxxxdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddddddddddddoooooooooooooooolllc;;'.....      ........'''''''''''',;;;;,,,,,,,,cxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddoooooooooooooooool:;;'...........     ...........'''..'',;;;;;,,,,,,,;,:dxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddxxxxdxddddddddddddoooooooooooool;'.'..................... ...........'..''',;;;;;,,,,,,;;;;;loddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooc;,'. ............''''''''................'',,;;;:::;;,,,,,,;;;;;;,,;:cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooolcc:,'...... .............'''',,,''''.........'',,,;;::::::;;,,,,,,;;;;;;;,...'codxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc,............  ..............',,,'',,,,,,''.....'',,;;;::::::;;,,,;,;;;;;;;;'.....',:odxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddolc;................   ..............',,,,,,,,,,,,,'''''',,;;:::::::;,,,;;;;;;;:::,..........':ldxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddoo
oooddddddddddddddddddddddddddddddddddddddddo:,'.....................  ..................,;;;;;;;;;,,,,,,,,,;;;::::::;,,,;;;;;;;;;'...............,:lddxdddddddddxxxxxxxxxdddddddddddddddddddddddddddddoo
ooooooooooooooddddddoooodddddolccloddddol:,........................   ....................';;;::;;;;;,,,,,,,;;:::::;;,,;;;;;::;,.....................,:ldddddddddxxxxxxdddddddddddddddddddddddddddddoooo
ooooooooooooooooddddooooodo:,......,;,,............................   .......................,;:::::;;;,,,,,,;:::;:;,,,;::::;,...........................;coddddddxxxdddddddddddddddddddddddddddddddoooo
ooooooooooooooooooooooooo:'........................................  ...........................,;:::::;;;;;;;::::;;,,,;;;,.................................';codddddddddddddddddddddddddddddddddddooooo
oooooooooooooooooooooooo:..........................................  .............................';:::::;;;;;;:::;;,,,,.......................................':ddddddddddddddddddddddddddddddddddooooo
oooooddddddddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,'''',;;:coodkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd:..'
ooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdoc:;,,''',,,,,,,,,,''''',,;:cloxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddc..'
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoc,'''',,,,,,,,,,,,,,,,,,,,,'''.....,;cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl..'
ddddddddddddddddxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkkkkkkko;,,,,,,,;;;;;;;;;;;;;;;;;;,,,,'''''''''..';ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddo..'
ddddddddddddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkkkko;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,'''''''''.....,cxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkOOOOOOOOOOOd:,;;;;;;;:::::::::::::;:;;;;;;;;;,,,,''''''''.......:dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd,.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkc;;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,,''''''''......:xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;..
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOko;;;;;;;;:::::::::::::::::::::::;;;;;;;;;,,,,,''''''.......,dOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:.'
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOkc,;;;;;;;;:::::::::ccc::::::::::::;;;;;;;;;;,,,,''''''.......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.'
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOl,,,;;;;;;;;::::::::::::::::::::::::;;;;;;;;,,,,,''''''''......,xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo..
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd,,,;;;;;;:::::::::::::::::::::::::::::::;;;;;,,,,,,'''''''......:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxddd'.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOO:,,,;;;;::::::::ccccccc::cccc::::::::::::;;;;;;,,,,,,''''''''.....dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx,,;;;;;:::::::ccccc:::::cccc:::::::::::::;;;;;;;;,,,,,''''''''....:kOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOl;;;;:::::::::::;;,'....',,;::::;;;;;:::::;;;;;;;;,,,,,'''''''''...'xOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOO:;;;;;;;;;;,'....      .....',:::::::::::;;;;;;;;;,,,,,''''''''''...oOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkOOkkOOOOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;,'.       ....        ....',,,,,;;:;:;;;;,,,,,,''''....''...:OOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxl.
xxxxxxkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOkc.....''''.  .......',,;,.   ..........      ...'..'',,,'''''.....'...'xOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOo:;;.           ..............  .....................       .........''''''oOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo.
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOkc..,xk'...        ......     ...  ..  .....',,;;;;;:::;;;,,''....  ..,;:;,'',oOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkxkkxxxxxxxxxxxxxxxxxxxxxxddd'
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOx:....ckOl....   .. ...'...  . ..''  ..'''''',;:::::cc:::::;;;,,,',;:ccc;,'''...:kOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:  ...':lo'     '::.  .'.........'. .,;;;;;;;:::ccccccc::::;;;,,,;:::c:,',;::;,',oOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxdd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd...':c:,'....;ccc:.  .',,,'''','  ,:::::::ccccccccccc::::;;,,,,;:;;;;:ccllc:;,,ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxddc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc',:cxxxxo'':clllc:'. .,;;:;,'. .;::ccccllllllcccccc:::::;;,,,;:cc;...,:lol:;::okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;,',oxxdo::cllllcc:,.........',;;::clllllllllccccc::::;;;;,,;;clol;;;;,;cl::ccxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx,..,ddoccclooollcc:,,'',;;:::c::ccccccccccccccccc::;;;;;,,,;:clll:;lol;:c::lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl,',;:::clllllllcc:;;,;;::ccclllllccccccccccccc::;,;;;,,,,;::c:;;:cccc:;:lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxl,;;,,''''',;;;;';:clllloollllllccccccccc::;;,,;,;,,,;;;;,;:cc::;;cdxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxdc,....   .....',:cclllllooollllcccccccc::;;;;;;;;;,,,;;;:c:::::::xkkkxxkkkkkkkxxxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxxkkkkkkxxkkkkkkkkkkkkkkkkkkxkxxxxxxxkkkkkkkkkkkkkkkxxxxxxddl'......'',;;::cccclllllllllllllccccc:::;;;;;;;;;,,,,,:ccllc:,,dkkkxxxxkxkxxxxxxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxkkkkkkkkkkkkxxxxddddd:''...'',,,,;;:::cccccllllllllllllcc::::;;;;;;;;,,,,,'',;;,,,,lxxxxxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxdddddd:'','',,,;;;;;;;;;:::ccclllcccllcccc:::;;;;;;;;,,,'',,''',,,,;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkxxxdddddddd:.........',:::;;;,,;::cccccccccc:::::;;;;;;;;,,,''',,;;;;,,,cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddl...............''',,,;;:::::::::::::;;;;;;;,,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddo..''''',,;,,'.....''',;::::::::;;;;;;;,,,,,,''''.',,;;;;;,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd;.,''',,,,,,,,,,,,,''',;;;;;;;;,,,,,,,,,,''''....',;;;;;;,,,ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddo'..........'',,,,,,'''',,,,,,,'''''''''''......',;;;;;;;,,;ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxdddddddddd
ddddddddddxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo,.......''''''''''''''''''''''''.'...........'',;;;;;;;,,,dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo,...''',,;;,,,,,''''''''''..................''',,;;;;,,,,oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddo;'''',,,,,,,;;,,,,''''''...................''''',;,,,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddl......'''',,,,,,''''.........................',,;,,,,,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo,........'''''''............................''',;,,,,,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooooo,................................''.''''''''',,;,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool;'..           ...............'''''''''',,,,;;,,,,,,,lddxxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddddddddddoooooooooooooll:;,'..      ............''''',,''',',,,;;,,,,,,,;dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxddddddddddddoooooooooooooooooolllc;;'.....      ........'''''''''''',;;;;,,,,,,,,cdxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddooooooooooooooooolc;;'...........     ...........''''.'',;;;;;,,,,,,,;,:dxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddxxxxddddddddddddddoooooooooooool:'.'....................................''',;;;;;,,,,,,,;;;;loddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooc;,'. .............'''''''................'',,;;;:::;;,,,,,,;;;;;;,,;:cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooolc::,'...... .............'''',,,''''.........''',,;;;:::::;;,,,,,,;;;;;;;;....codxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc,............   .............',,,'',,,,,,'''....'',,;;;::::::;;,,,;,;;;;;;;;,......,:odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddolc;'...............   ...............,,,,,,,,,,,,,,''''',,;;;::::::;,,,;;;;;;;;:;,..........';ldxxxxxxxxxxxxdddxxxxxxxxxxxdddddddddddddddddddddddddddoo
oooodddddddddddddddddddddddddddddddddddddddo:,'.....................  ..................,;;;;;;;;;,,,,,,,,,;;;::::::;,,,;;;;;;;;;,...............,:ldxxddddddddddxxxxxxxxdddddddddddddddddddddddddddddoo
oooooooooooooooooddoooododoodolccloddddolc,........................   ....................',;;::;;;;;,,,,,,,;;::::::;,,;;;;;::;,.....................,:ldddddddddxxxxxxxddddddddddddddddddddddddddddoooo
ooooooooooooooooooddoooooooc,......';,,............................   .......................,;:::::;;;,,,,,;;;::;:;,,,;::::;,...........................,coddddddddddddddddddddddddddddddddddddddddoooo
ooooooooooooooooooooooooo:'........................................  ...........................,;:::::;;;;;;;::::;;,,,;:;,.................................';codddddddddddddddddddddddddddddddddddooooo
ooooooooooooooooooooooooc..........................................  ..............................;:::::;;;;;;:::;;,,,,.......................................':odddddddddddddddddddddddddddddddddooooo
oooooddddddddddxxxdxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,''''',;:clddxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxkkkxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddc..'
ooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:;,,''',,,,,,,,,,,'''',,;:cloxkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkkkkkxxxxkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl..'
oooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;'''',,,,,,,,,,,,,,,,,,,,,''''....';cokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo..'
dddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko:,,,,,,;;;;;;;;;;;;;;;;;;;;,,,'''''''''..';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOkkkd:,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,'''''''''.....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd,.'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOkkkkkkOOOOOOOOOOOx:,;;;;;;;;::::::::::::::;;;;;;;;;,,,,'''''''''......;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkl;;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,,,'''''''......;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd:..
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd:;;;;;;;;:::::::::c:::::::::::::;;;;;;;;,,,,,''''''.......'oOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddc.'
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOl;,;;;;;;;;:::::::ccccc:::::::::::;;;;;;;;;;,,,,''''''........okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.'
dxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;;;;::::::::::::::::::::::::;;;;;;;;;,,,,''''''''......'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo..
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOx;,,;;;;;;:::::::::::::::::::::::::::::::;;;;;;,,,,,'''''''......;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd'.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOc,,,;;;;;:::::::ccccccccccccc::::::::::::;;;;;;;,,,,,''''''''.....okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk;,;;;;::::::::cccccc::::cccc::::::::::::::;;;;;;;,,,,,''''''''....;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxd;.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd;;;;:::::::::::;;,,'....,,;:::::;;;:::::::;;;;;;;;,,,,'''''''''...'xOkOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOc;;;;;;;;;;,,....       .....';::::::::::::;;;;;;;,,,,,''''''''''...lOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxc.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,;;;;;,,..      ....        ..''',,;;;;;:::;;;;,,,,,,'''''....''..;kOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxl.
xxxxxxkxkkkkkkkkkkkkkkkkkkkkkkOOkkkkOOOOOOOOOOOOOOOOOOOOOOOOl.....'''''. .......',,,,.   ....... ..      ...'.''',,,'''''.....'...'dOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxdo.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOdc;;.           ..............   ....................       ..........'''''lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkxxxxxxxxxxxxxxxxxxxxxxxdd'
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkl..'xk;...        ......     ....  .  .....'',;;;;;;::;;;,,'.....  ..';::;,,,lOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkxxxxxxxxxxxxxxxxxxxxxxxdd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:....:kOd'...   ..  ..'.... . ..''. ..'''''',;;::::cc:::::;;;,,,',;::cc:,'''...;kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxd;
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl  ....;lo,     .::'  .'.'.......''  ,;;;;;;;:::ccccccc:::::;;,,,;::ccc,',;::;,''lOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx...':lc;'....,cclc.  ..,,,'''',,. ';:::::::cccccccccc::::;;;,,,;:;;;;:ccllc:;,,:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxkxkxxkxxxxxxxxxxxxxxxxxxxxxxxdc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko';:cxxxxd,':clllc:,. .,;;:;,'. .,::ccccclllllccccccc::::;;,,,;::c:...,:col:;:;lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'',oxxdd::clllllcc;..........,;;::clllllllllccccc:::::;;;,,;;:lol:;;;,;cl:::cxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:..'oddlcclooollcc:;,'',,;:::cc:ccccccccccccccccc::;;;;;;,,;:cllo:;col;:c::lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko;',;:::clllllllcc:;;,,;::ccclllllcccccccccccccc:;,;;;;,,,;::cc;;::cccc::lxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxo;;;;,''''',;;;;,,:cclllooolllllccccccccc:::;,,;;;,,,,;;;,,;cc::;;:oxkxkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl,....   ......';:cllllloooollllccccccc::;;;;;;;;;,,,;;;:c:::::::xkkkxxkkkkkkkkxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkxxkkkkkkkkkkkkkkkkkkkkxkxxxxxkkkkkkkkkkkkkkkkxxxxxddl,......'',,;::ccccllllollllllllcccccc::;;;;;;;;;,,,,,:ccllc:;,okkkkxxxxkkxxxxxxkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxxkxxxxxxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxxdddc,'...'',,,,;;:::cccccllllllllllllccc:::;;;;;;;;,,,,,'';;;;,,,cxxkkxxxxxxxxxxxxxxkkkxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxkxxxxxxxkxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxxdddc'','',,,;;;;;;;;;;::cccllllcllllcccc:::;;;;;;;;,,''''''',,,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkxxxxdddddddc.........',;::;;;;;;::ccccccccccc:::::;;;;;;;,,,''',,;;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddl...............''',,;;;:c:::c::::::;;;;;;;;;,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd'..'''',,,,,'.....''',;;:::::::;;;;;;;;,,,,,,'''.'',;;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd:.,,',,,,,,,,,,,,,,''',;;;;;;;;;,,,,,,,,,'''''...',;;;;;;,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd,..........'',,,,,,'''',,,,,,,,''''''''''......',;;;;;;;,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxxdddddddddd
dddddddddxxxxdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo,.......''''''''''''''''''''''''.'...........'',;;;;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;...'''',;;,,,,,'''''''''...................''',,;;;;,,,,ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;'''',,,,,,,;;;,,,''''''...................''''',;,,,,,,cddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo'.....''''',,,,,''''.........................',,;;,,,,,cddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo;.........''''''............................''',;;,,,,,:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooo;................................''.''''''''',,;,,,,,,,oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool;'..          ................'''''''''',,,,;;,,,,,,,lddxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddooooooooooooooll:;,'..       ...........''''',,''''',,,;;,,,,,,,;dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddddddddddddddddddxxxxxxxxxxxxxddddddddddddoooooooooooooooooolllc;;'.....      ........'''''''''''',,;;;,,,,,,,,cxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxxddddddddddooooooooooooooooooc;;'............    ...........''''.'',;;;;;,,,,,,,;,:dxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddxxxxxdddddddddddddoooooooooooool:'.'.................................'..''',;;:;;,,,,,,,;;;;loddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooooc:;'. ............''''''''.................',,;;;:::;;,,,,,,;;;;;;,,;:cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooolcc:;'...... .............'''',,,''''..........',,,;;;:::::;;,,,,,,;;;;;;;;....codxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddool;'...........  ..............',,,,',,,,,,''.....'',,;;;::::::;;,,,;,;;;;;;;;,.....',:odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddool:'...............   ...............,,,,,,,,,,,,,,''''',,;;;::::::;,,,;;;;;;;;::;..........':ldxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoo
oooodddddddddddddddddddddddddddddddddddddddo:;'.....................  ..................,;;;;;;;;;,,,,,,,,,;;;::::::;,,,;;;;;;;;;,...............,:ldxxxxddddddxxxxxxxxxxdxdddddddddddddddddddddddddddoo
oooooooooooooooddddddddddddddolccloddddolc,........................   ....................';;;::;;;;;,,,,,,,;;::::::;,,;;;;;::;,.....................,:ldddddddddxxxxxxxdddddddddddddddddddddddddddddooo
ooooooooooooooodddddddooodoc;'.....,;;,'...........................   .......................,;:::::;;;,,,,,;;:::;:;,,,;::::;,...........................;codddddxddddddddddddddddddddddddddddddddddoooo
ooooooooooooooooooooooooo:'........................................   ..........................,;:::::;;;;;;;::::;;,,,;:;,'................................';codddddddddddddddddddddddddddddddddddooooo
ooooooooooooooooooooooooc.......................................... ...............................;:::::;;;;;;:::;;,,,,'......................................':ddddddddddddddddddddddddddddddddddooooo
oooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc;,''''',;:clddkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxkkkxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddc..'
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:;;,''',,,,,,,,,,''''',,;:cloxkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkkkkxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddl..'
oooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc;''''',,,,,,,,,,,,,,,,,,,,''''....';cokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo..'
ooddddddddddddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,,,;;;;;;;;;;;;;;;;;;;,,,'''''''''..';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddddddxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkOOOOOOOkkkkd:,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd,.'
dddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkOOOOOOOOOOOxc,;;;;;;;;::::::::::::;:;;;;;;;;;;,,,,''''''''''....;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd;.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOkl;;;;;;;;::::::::::::::::::::;;;;;;;,,,,,,,'''''''......;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd:..
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd:;;;;;;;::::::::::c:::::::::::::;;;;;;;;,,,,,''''''''.....'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl.'
ddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo;,;;;;;;;:::::::::cccc:::::::::::;;;;;;;;;;,,,,'''''''.......lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxddo..
ddxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;;;;::::::::::::::::::::::::;;;;;;;;;,,,,''''''''......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxddd'.
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk;,,,;;;;;:::::::::::::::::::::::::::::::;;;;;;,,,,,'''''''......,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOl,,,;;;;;:::::::ccccccccc:cccc:::::::::::;;;;;;;,,,,,''''''''.....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk;,,;;;;:::::::cccccc::::ccccc:::::::::::;;;;;;;;;,,,,,''''''''....;kOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxd;.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOd;;;;::::::::::::;,,'....,,;:::::;;;;::::;;;;;;;;;;,,,,'''''''''....dOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOc;;;;;::;;;,,'...       .....';::::::::::::;;;;;;;,,,,,''''''''''...lOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd,,,;;;;;,,..      .....       ..''',,;;;;;;:;;;;;,,,,,,'''''....''..;kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxl.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOkkkkOOOOOOOOOOOOOOOOOOOOOOOOo.....'''''.  ......',,,;.   ....... ...    ....'''',,,,'''''.........'dOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxdo.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOdc;;.           ...............  ....................       ..........'''''lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkkxxxxxxxxxxxxxxxxxxxxxddd'
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkl'.'xk;...        ......     ....  .  .....'',,;;;;;;;;;,,''.....  ..',::;,,,lOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxkkkxkkkkxxxxxxxxxxxxxxxxxxxxxxxdd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:....;kOd'...   ..  ..'.... .  .''. ..'''''',,;::::cc:::::;;;,,,',;;:cc:;,''...,xOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl. ....;lo;   . .;:,  .'.'.......''  ',;;;;;;;:::cccccc:::::;;,,,,::ccc;'';::;,''cOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx...';lc;'.. .':ccc'. ..,,,'''',,. .;:::::::cccccccccc::::;;;,,,;:;;;;:ccclc:;,,:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxkkkkxkxxxxxxxxxxxxxxxxxxxxxxxdc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko';:cxxxxd;.;clllcc,. .';;:;,,.. '::ccccclllllccccccc::::;;;,,;;:c:'..,:col:;:;ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'',lxxdd::clllllcc;..........,;;::ccllllllllcccccc::::;;;,,,;:cll:,;,',:l:::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:..'oddlcclooolllc:;,'',,;:::cc:ccccccccccccccccc:::;;;;;,,;:clloc;col:;c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;',;;::clllllllcc:;;,,;::ccclllllcccccccccccccc:;,;;;;,,,;::cc;;::cc:c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxo;;;;,,'''',;;;;,,:cclllloolllllccccccccc:::;,,;;;,,,,;;;;,;:cc:;;:oxxxkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl,....   ......';:cllllloooollllccccccc:::;;;;;;;;,,,;;;;::::::::xkkkxkkkkkkkkkxkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkxkkkkkkkkkkkkkkkkkkkxxxxxxxxkkkkkkkkkkkkkkkkxxxxxddo,......'',,;::ccccllllolllllllllccccc:::;;;;;;;;,,,,,:ccllc:;,okkkkxxkkkxxxxxxxxkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxxxxxxxxxxxkkkkkxxxkkkkkxxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxxdddc,'...'',,,,;;:::cccccllllllllllllccc:::;;;;;;;;;,,,,'';;;;,,,cxxkkxxxxxxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkxxxxxxdddc'',''',,;;;;;;;;;;::cccclllcllllccc::::;;;;;;;;,,''','.',,,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkxxxxxddddddl'........',;::;;;;;;;:ccccccccccc:::::;;;;;;;,,,''',,;;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddo...............'',,,,;;:cc::c:::::::;;;;;;;;,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd'..'''',,,,,'.....''',;;::::::::;;;;;;;,,,,,,'''''',;;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc.,,',,,,,,,,,,,,,,''',;;;;;;;;;,,,,,,,,,'''''...',,;;;;;,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd,..........'',,,,,,'''',,,,,,,,''''''''''.......,,;;;;;;,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
ddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo,........'''''''''''''''''''''''.''..........'',,;;;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;...'''',;;,,,,,''''''''''...................'',,;;;;,,,,ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:'''',,,,,,,;;;,,'''''''....................'''',;,,,,,,cddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo'.....''''',,,,,''''.........................',,;,,,,,,cddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddoo;.........''''''............................'',,;;,,,,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooo;.................................'..'''''''',,;,,,,,,;oddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool;'..           ...............'''''''''',,,,;;,,,,,,,lddxddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxddddddddddddddddddooooooooooooolc:;,'..      ............''''',,''''',,,;;,,,,,,,;dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxdddddddddddoodoooooooooooooooolllc:;'.....      ........'''''''''''',,,;;,,,,,,,,cdxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxxdddddddddoooooooooooooooooooc:;,...........     ...........''''.'',;;;;;,,,,,,,;,:dxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddxxxxxdddddddddddddoooooooooooool:'''.................................'..''',;;;;;,,,,,,,;;;;loddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooool:;'.  ...........''''''''.................'',,;;::::;,,,,,,;;;;;;,,:cldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooolccc;'...... .............'''',,,''''..........'',,;;;:::::;;,,,,,,;;;;;;;;....cddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddxdddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddool;'...........   .............',,,'',,,,,'''.....'',,;;;::::::;;,,,,,,;;;;;;;,.....',coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddool:'...............   ..............',,,,,,,,,,,,,'''''',,;;;::::::;,,,;;;;;;;;:;;..........,:lddxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddddo
dooooddddddddddddddddddddddddddddddddddddddo:;,.....................  ..................,;;;;;;;;;,,,,,,,,,;;;::::::;,,,;;;;;;;;;,...............,cldxxxxdddddxxxxxxxxxxxxdddddddddddddddddddddddddddddo
oooooooooooooooodddodddddddddollclodddddlc;........................   ....................';;;::;;;;,,,,,,,,;;:::::;;,,;;;;;::;,....................';codddddddddxxxxxxxxdddddddddddddddddddddddddddoooo
oooooooooooooooooodddooooooc;'....',;;,'...........................   .......................,;:::::;;;,,,,,;;:::;:;,,,;:::::,..........................';codddddxxdxxdddddddddddddddddddddddddddddooooo
ooooooooooooooodooooooooo:'........................................  ...........................,::::::;;;;;;;::::;;,,,;:;,'................................';loddddddddddddddddddddddddddddddddddoooooo
ooooooooooooooooooooooooc..........................................  .............................';:::::;;;;;::::;;,,,,'......................................'cdddddddddddddddddddddddddddddddddoooooo
oooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,'''',;;:cldxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddc..'
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:;;,'''',,,,,,,,'''''',,;:cloxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddl..'
oodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdl;''''',,,,,,,,,,,,,,,,,,,,''''....';cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddo..'
ooddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,,,;;;;;;;;;;;;;;;;;;;,,,''''''''...';ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd'.'
ddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOkkkkkd:,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,''''''''''....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd;.'
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkOOOOOOOOOOOxc;;;;;;;;;::::::::::::;;;;;;;;;;;,,,,,''''''''......;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:..
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOko;;;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,,'''''''......;xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc.'
ddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOx:;;;;;;;::::::::::::::::::::::::;;;;;;;;,,,,,''''''.......'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl.'
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo;,;;;;;;;:::::::::cccc:::::::::::;;;;;;;;;,,,,,''''''........okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxdddo..
dxxxxxxxxxxkxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd,,,;;;;;;;;::::::::::::::::::::::::;;;;;;;;;,,,,'''''''.......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddd'.
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk;,,,;;;;;::::::::::::::::::::::::::::::::;;;;;,,,,'''''''''.....,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOl,,,;;;;;:::::::cccccccc:cccc::::::::::::;;;;;;;,,,,,''''''''.....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOk;,,;;;;:::::::cccccc::::ccccc:::::::::::::;;;;;;;,,,,,'''''''''...;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxd;.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd;;;;;:::::::::::;;,'....',;:::::;;;;:::::;;;;;;;;;,,,,'''''''''....dOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOc;;;;;;;;;;,,'...       .....';:::::::::::::;;;;;;,,,,,''''''''''...lOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxl.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOx,,,;;;;;;,..      .....        .''',,;;;;;;::;;;;,,,,,,'''''....''..;kOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxo.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOkkkOOOOOOOOOOOOOOOOOOOOOOOo.....'''''.  ......',,,;'   .......  ..    ....'''',,,,'''''.....'...'dOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxd.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOdc;;.           ...............  ....................       ..........'''''lOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxkkxxkkkkkxxxxxxxxxxxxxxxxxxxxxddd'
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkl'.'xk:....       ......      ...  .   ....'',,;;;;;;;;;,,''.....  ...,;:;,,,lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:....;kOd'...   ..  ..''... .. .''. ...''''',,;::::c::::::;;;,,,',;;::cc;,''...,xOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxd;
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl. ....;lo;   . .;:,  .'.'.......''. ';;;;;;;;:::cccccc:::::;;,,,,::ccc;'';::;,''cOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx...';lc;,....':clc,. ..,,,'''',,. .;:::::::cccccccccc:::::;;,,,;::;;;:ccclc:;,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkxkxxxxkxxxxxxxxxxxxxxxxxxxxxxxdc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko';:cxxxxd;';clllcc,...';;:;,,'. .;::ccccllllllcccccc::::;;;,,;;:::'..,:col:;:;ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:'.,oxxddc:clllllcc;..........,;;::ccllllllllcccccc::::;;;,,;;:cll:,,,',:l:::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk:..'oddlcclooolllc:;,''',;:::cc:ccccccccccccccccc:::;;;;;,,;;:lloc;coo:;c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;',;;::clllllllccc:;,,;::ccclllllcccccccccccccc::;;;;;,,,,;:cc:;::cc:c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxd;;;;,,'''',;;;;,,:ccllllollllllcccccccccc::;,,,;;,,,,;::;,;:cc::;:lxxxkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxl,.....  ......';:cllllloooollllccccccc:::;;;;;;;;,,,;;;;:c::::::dkkkkkkkkkkkkkxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxkkkkkkkkkkkkkkkkkkkxxxxxxxo,......'',,;:::ccclllloollllllllccccc:::;;;;;;;;,,,,,:ccllc:;,okkkkxxkkkkxxxxxxxkkkkkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxxxxxxxxxxxkkkkkkkkkkkkkkxxxxxxxxxxxxxkkkkkkkkkkkkxxxxxxxddc,'...'',,,,;;:::cccccllllllllllllccc:::;;;;;;;;;,,,,'';;;;,,,cxkkkxxxxxxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkxxxxxxddddc'',''',,;;;;;;;;;;::cccclllcclllcccc:::;;;;;;;;,,'''''.'',,,,dxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxdddddddc'........',;:::;;;;;::ccccccccccc:::::;;;;;;;;,,,'',,;;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxxdddddddddo...............'',,,;;;:ccc:c:::::::;;;;;;;;,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd'..'''',,,,,'......'',;;::::::::;;;;;;;,,,,,,'''..',;;;;;,,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
ddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc.,,,,,,,,,,,,,,,,,''',;;;;;;;;;;,,,,,,,,,''''...',,;;;;;,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd,..........'',,,,,,'''',,,,,,,,'''''''''''......,,;;;;;;,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddd
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo,.......'''''''''''''''''''''''''''..........'',;;;;;;;,,,oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;....''',;;,,,,,''''.'''''...................'',,;;;;,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;'''',,,,,,,,;;,,,''''''....................'''',;,,,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo'.....''''',,,,,,'''.........................',,;,,,,,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddo:.........''''''............................''',;;,,,,,:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooooo;.................................'.''''''''',,;,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddddddddddxdxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool;'..           ...............'''''''''',,,,;;,,',,,,ldddxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooooooolc:;,'..      ............''''',,''''',,,;;,,,,,,,:dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddddddddddddoooooooooooooooolllc:;'.....     .........'''''''''''',,,;;,,,,,,,,cxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddooooooooooooooooooc:;,...........     ...........''''''',;;;;;,,,,,,,;;cdxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddxxxxxddddddddddddddoooooooooooooo:''''...............................'''..'',;;;;;,,,,,,,;;;;ldddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooool:;'. ............''''''''.................'',,;;::::;,,,,,,;;;;;;,,:cldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooollcc;'...... .............'''',,'''''.........''',,;;;:::::;;,,,,,,;;;;;;;,...'cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddool;'...........  ..............,,,,'',,,,,'''.....'',,,;;::::::;;,,,,,,;;;;;;;,.....';coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddool:'...............   ..............',,,,,,,,,,,,,'''''',,;;:::::::;,,,,;;;;;;;:;;..........,:odxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
oodddddddddddddddddddddddddddddddddddddddddo:;,'....................  .................',;;;;;;;;;;,,,,,,,,;;;::::::;,,,;;;;;;;;;,..............';codxxxxdddddxdxxxxxxxxxxxdddddddddddddddddddddddddddoo
oooooooooooooodddddodddddddddoolllodddddlc;........................   ....................,;;;::;;;;;,,,,,,,;;:::::;;,,;;;;;::;;....................';coddddddddxxxxxxxxdddddddddddddddddddddddddddddooo
oooooooooooooooddddodoooodoc;'....',;;,'...........................   ......................',;::::;;;;,,,,,;;:::;:;,,,;:::::;'.........................';lddddddxdddxddddddddddddddddddddddddddddddoooo
oooooooooooooooooooooooooc'........................................  ..........................',::::::;;;;;;;:::;;;,,,;:;;'................................,:lddddddddddddddddddddddddddddddddddddooooo
ooooooooooooooooooooooooc..........................................  .............................,::::::;;;;;::::;;,,,,'......................................'cdddddddddddddddddddddddddddddddddoooooo
ooooodddddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,'''',,;:codxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddl..'
oooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolc:;,''',,,,,,,,,,''''',,;:cloxkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkkkkkxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddo..'
oooddodddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''''',,,,,,,,,,,,,,,,,,,,''''....,:cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd'.'
ooddddddddddxdxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,,,,;;;;;;;;;;;;;;;;;;,,,'''''.'''..';ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd,.'
dddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkkxc,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,''''''''.....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;.'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkkOOOOOOOOOxc;;;;;;;;;::::::::::::;;;;;;;;;;;,,,,,'''''''.......;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:.'
dddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOko;,;;;;;;;::::::::::::::;::::;;;;;;;;,,,,,,'''''''......;xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc.'
dddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOx:,;;;;;;::::::::::cc::::::::::::;;;;;;;;,,,,,''''''.......'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl..
ddxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo;,,;;;;;;;::::::::cccc::::::::::::;;;;;;;;,,,,,''''''........lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddo..
ddxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOd;,,;;;;;;;;:::::::::::::::::::::::::;;;;;;;;,,,,,'''''''......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd'.
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk;,,,;;;;;;::::::::::::::::::::::::::::::;;;;;;,,,,,'''''''......,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxd,.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;:::::::ccccccccc:ccc::::::::::::;;;;;;;,,,,,''''''''.....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdd;.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOO:,,;;;;:::::::cccccc:::::cccc::::::::::::;;;;;;;;,,,,,'''''''''...;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxd:.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx;;;;;:::::::::::;,,'....',;;::::;;;;:::::;;;;;;;;;,,,,''''''''''...dOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdc.
xxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOl;;;;;;:;;;,,'...        ....',:::::::::::::;;;;;;,,,,,''''''''''...cOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOx,,,,;;;;;,'.      .....        ..''',;;;;;;:;;;;;,,,,,,'''''.....'..;kOOOOkOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxo.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOkkOOOOOOOOOOOOOOOOOOOOOOOOo......''''.  ......'',,,'    ....... ..    .....''',,,,,''''.........'dOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxdd'
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOd:;;.           ...............  ....................       ..........'''''lOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkl'..dkc....       .......     ...  .   ....'',,;;;;;;;;;,,''.....  ...,;:;,,,lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddd;
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOkx:. ..;kOx'...   ...  .''... .. .''.  ..''''',,;::::cc::::::;;;,,'';;::cc;,''...,xOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdd:
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko. ....,co:   . .;:;. .'.'.......''. .,;;;;;;;:::cccccc:::::;;;,,,;:ccc;'',::;,''ckOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkxkkkkxxxxxxxxxxxxxxxxxxxxxxxxdc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk'..';lc;,.. ..:clc,. ..,,,,''',,. .;::::::::ccccccccc:::::;;,,,;::;;;::cclc:;,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd';:cdxxxd;.;clllcc;.. .;;:;,,'. .;::ccccllllllccccccc:::;;;,,;;:c:'..,:col:;;;ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc'''lxxddc:clllllcc:'.........';;::cclllllllllccccc::::;;;,,,;:cll:,,,',:lc::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc...oddlccloooollc:;,'',,;:::cc:cccccccccccccccccc::;;;;;,,;;:lloc;coo:;c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,;;::clllllllccc:;,,;::ccclllllcccccccccccccc::;;;;;,,,,;:cc:;::cc:c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxd;,;;,,'''',;;;;,,:cclllloollllllccccccccc::;;,,;,,,,,;;:;,;:cc::;:lxkxxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxo;.....  ......';:cllllloooollllcccccccc::;;;;;;;;,,,;;;;:c::::::dkkkxkkkkkkkkkxkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkxxkkkkkkkkkkkkkkkkxxxxxxxkkkkkkkkkkkkkkkkkkkxxxxxxxo,.......',,;;::ccclllllollllllllccccc:::;;;;;;;;,,,,,:ccclc:;,okkkkxxkkkxxxxxxxxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxxxxxxxxxxxkkkkkxxxkkkkkkxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxxxddl,'...'',,,,;;::::cccclllllllllllllcc:::;;;;;;;;;,,,,'';;;;;,,cxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxxdddc''''',,,;;;;;;;;;;::cccclllcclllcccc:::;;;;;;;;,,'''''.'',,,,dxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkxxxxddddddl'........',;:::;;;;;;::cccccccccc:::::;;;;;;;;,,,''',,;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxdddddddddo...............'',,,;;;:ccc:c:::::::;;;;;;;;,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd'..'''',,,,,'......'',,;::::::::;;;;;;;,,,,,,'''..',;;;;;;,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc.,,,,,,,,,,,,,,,,,''',;;;;;;;;;;,,,,,,,,,''''...',,;;;;;;,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd,..........''',,,,,'''',,,,,,,,'''''''''''......',;;;;;;,,,odxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddd
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo,........''''''''''''''''''''''''............'',,;;;;;;,,,oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;...'''',,;,,,,,''''..''''...................'',,;;;;,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:'''',,,,,,,,;;,,,''''''....................'''',;;,,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo'.....''''',,,,,,'''.........................',,;,,,,,,cddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddo:.........''''''............................''',,;,,,,,:dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddooooo;.................................'..'''''''',,,,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool;'..           ...............'''''''''',,,,;;,,,,,,,ldddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooooooolc:;,'..       ...........''''',,''''',,,;;,,,,,,,:dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddo
ddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxdddddddddddddooooooooooooooooolllc:;,.....      .........''''''''''',,,;;,,,,,,,,cxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddooooooooooooooooooc:;,...........     ...........''''.'',;;;;;,,,,,,,,,cdxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddxxxxddddddddddddddoooooooooooool:,'''................................''..'',;;;;;,,,,,,,,;;:lddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddddooooooooool:;'. ............''''''''.................'',,;;:::;;,,,,,,;;;;;;,,:cldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooollcc;''..... .............'''',,'''''..........'',,;;;:::::;;,,,,,,;;;;;;;,...'cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddool;'...........   .............,,,,'',,,,,'''.....'',,,;;::::::;;,,,,,,;;;;;;;,.....';coxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddool:'...............   ..............',,,,,,,,,,,,,'''''',,;;:::::::;,,,;;;;;;;;:;;..........,:odxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
oooooddddddddddddddddddddddddddddddddddddddo:;,'....................  .................',;;;;;;;;;;,,,,,,,,;;;::::::;,,,;;;;;;;;;,..............';codxxxddddddxxxxxxxxxxxdxdddddddddddddddddddddddddddoo
oooooooooooooodddddddddoddooooolllodddddlc;........................   ....................,;;;::;;;;;,,,,,,,;;::::::;,,;;;;;;:;,....................';coddddddddxxxxxxxxdddddddddddddddddddddddddddddooo
ooooooooooooooooodddooooodoc;'....',;;,'...........................   ......................',;:::::;;;,,,,,;;;::;:;,,,;:::::;'.........................':lddddddxxxxxddddddddddddddddddddddddddddddoooo
ooooooooooooooooooooooooo:'........................................   .........................',::::::;;;;;;;::::;;,,,;:;;'................................,:lddddddddddddddddddddddddddddddddddddddooo
ooooooooooooooooooooooooc..........................................  .............................'::::::;;;;;::::;;,,,,,......................................,ldddddddddddddddddddddddddddddddddddoooo
oooooddddddddddddxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxol:,'''',;:clodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl...
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolc:;,''',,,,,,,,,,''''',;;:cldxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddo..'
ooododdddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''''',,,,,,,,,,,,,,,,,,,,'''....',:ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd'.'
ooddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,,,,,,,;;;;;;;;;;;;;;;;;,,,,,''''.''...';ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd'.'
dddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOkkkkxc,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''...',cxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd;.'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkOOOOOOOOOOxc;,;;;;;;;;:::::::::::;;;;;;;;;;;,,,,,''''''''.....';dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:.'
dddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOko;,;;;;;;;;::::::::::::::::::;;;;;;;;,,,,,''''''''......:xOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc..
ddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx:,;;;;;;;:::::::::cc:::::::::::;;;;;;;;;,,,,,''''''.......'dOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl..
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo;,,;;;;;;;::::::::cccc::::::::::::;;;;;;;;,,,,,''''''........okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxdddo..
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd,,,;;;;;;;;::::::::::::::::::::::::;;;;;;;;;,,,,,'''''''......'xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxdddd'.
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOk;,,,;;;;;;::::::::c::::::::::::::::::::::;;;;;,,,,''''''''......;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;:::::::ccccccccc:ccc::::::::::::;;;;;;;,,,,,''''''''.....okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxdd;.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOO:,,;;;;;::::::cccccc:::::ccc::::::::::::::;;;;;;;,,,,,''''''''....;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdd:.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd,,;;::::::::::::;,,'....',,;::::;;;;:::::;;;;;;;;;,,,,'''''''''...'xOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkxxkxxxxxxxxxxxxxxxxxxxxxddc.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOl,;;;;;::;;,,'...        ....',::::::::::::;;;;;;;,,,,,''''''''''...lOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxxdl.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOx,,,,;;;;;,'.      .....        ..''',;;;;;;::;;;;,,,,,,'''''....''..;kOOOkOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxo.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOkkkOOOOOOOOOOOOOOOOOOOOOOOo......''''.  ......'';,;,    ..........    .....''',,,,,''''......'..'xOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxkkxkkkkkxxxxxxxxxxxxxxxxxxxxxxxdd.
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOd:;;.           ...............  ....................       ..........'''''lOOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddd'
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkc...dkc....       .......     ...  .   ....'',,;;;;;;;;;;,''.....  ...,;:;,,,lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkx:....;kOx'...   ...  .''... .. .''.  .'''''',,;:::::cc::::;;;,,,'';;;:cc;,''...,xOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkxxxxxxxxxxxxxxxxxxxxxxddd:
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko. ....,co;   . .;:;. .'.'.......''. .,;;;;;;;:::cccccc:::::;;;,,,;:ccc;'';::;,''cOOOOOkkOkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxdxc
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk'..';lc;,....':clc;. ..,,,,''',,. .;::::::::ccccccccc:::::;;,,,;::;;;::cclc:;,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd';:cdxxxd;.;clllcc;.. .;;:;,,'. .;::ccccllllllcccccc::::;;;,,;;:::'..,:col:;;;ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc'''lxxddc:clllllcc:'.........';;::cclllllllllccccc::::;;;,,,;:cll:,,,',cl:::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc..'oddlccloooollc:;,''',;:::cc:cccccccccccccccccc::;;;;;,,;;:lloc;coo:;c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd:,,;;::clllllllccc:;,,;::cccllllllccccccccccccc::;;;;;;,,,;:cc:;::lc:c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxd;,;;,''.''',;;;,,:cclllooollllllccccccccc::;;,;;;;,,,;;:;,;:cc::;:lxxxkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxo;.....  ......';:cllllloooollllcccccccc::;;;;;;;;,,,;;;;:c::::::dkkkxxkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkkkkkkkkkkkkkkkkkkkxxxxxxxo,'.....'',,;;::ccclllloollllllllccccc:::;;;;;;;;,,,,,;ccclc:;,okkkkxxkkkkxxxxxxxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxkkkkkxkkkkkkkkxxxxxxxxxxxxxkkkkkkkkkkkkkxxxxxxddl,'...'',,,,;;::::cccclllllllllllllcc:::;;;;;;;;;,,,,'';;;;,,,cxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxxdddc'''''',,;;;;;;;;;;:::ccclllcclllcccc:::;;;;;;;;,,'''''.'',,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxxddddddl'.........,;:::;;;;;;::cccccccccc:::::;;;;;;;;,,,''',;;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkxxxdddddddddo...............'',',,;;:ccc::::::::::;;;;;;;,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd'..'''',,,,,'......'',,;::::::::;;;;;;;,,,,,,'''.'',;;;;;;,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc.,,,,,,,,,,,,,,,,,,'',;;;;;;;;;;,,,,,,,,,''''...',,;;;;;;,,ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
dddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd,..........'',,,,,,'''',,,,,,,,'''''''''''......',;;;;;;,,;ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo,.......'',''''''''''''''''''''''............'',;;;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddxdddddddddddddddd
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddo;.'''''',,;,,,,,''''..''''..................''',,;;;;,,,,oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd;'''',,,,,,,,;;,,,''''''....................'''',;;,,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo'.....''''',,,,,''''.........................',,;,,,,,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddo:.........''''''............................''',;;,,,,,:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddoooooo;.................................'..''.''''',,;,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool;'..           ...............'''''''''',,,,;;,,,,,,,lddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooooooooll:;,'..       ...........''''',,''''',,,;;,,,,,,,:dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddddddddddddddddxxxxxxxxxxxxxxddddddddddddddddoooooooooooooolllc:;,.....      .........''''''''''',,,;;,,,,,,,,lxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddooooooooooooooooooc:;,...........     ...........''''''',;;;;;,,,,,,,;;cdxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddxxxxxxxddddddddddddoooooooooooool:,'''................................''..'',;;;;;,,,,,,,,,;:odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddddddddddddddddddoooooooool:;'. ............'''''''..................'',,;;::::;,,,,,,;;;;;;,,:cldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooollcc;'...... .............'''',,,''''..........'',,;;;:::::;;,,,,,,;;;;;;;,...'ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc;'...........  ..............,,,,'',,,,,'''.....'',,,;;::::::;;,,,;,;;;;;;;;,.....';cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddo
ddddddddddddddddddddddddddddddddddddddddddddddddool:'...............  ...............',,,,,,,,,,,,,'''''',;;;;::::::;,,,;;;;;;;;:;;..........,codxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
oddddddddddddddddddddddddddddddddddddddddddo:;,'....................  .................',;;;;;;;;;,,,,,,,,,;;;::::::;,,,;;;;;;;;;,..............';codxxxddddddxddxxxxxxxxxxddddddddddddddddddddddddddooo
ooooooooooddooddddddddddddddoollllodddddlc,........................   ....................,;;;;;;;;;;,,,,,,,;;::::::;,,;;;;;::;,....................';codddddddddxxxxxxxdddddddddddddddddddddddddddddooo
ooooooooooooooodddddooddddoc,'....';:;,'...........................   ......................',;:::::;;,,,,,,;;:::;:;,,,;:::::;'.........................,:lddddddxxxxxdddddddddddddddddddddddddddddddooo
ooooooooooooooodooooooooo:'........................................  ..........................';:::::;;;;;;;;:::;;;,,;;::;'................................,:lddxddddddddddddddddddddddddddddddddddoooo
oooooooooooooooooooooooo:..........................................  .............................,::::::;;;;;::::;;,,,;,......................................,lddddddddddddddddddddddddddddddddddddooo
oooooodddddddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdl:;,',,,;:clodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl..'
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxolc:;,''',,,,,,,,,,''''',;;:codxkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxkkkxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddo..'
ooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''''',,,,,,,,,,,,,,,,,,,,''''...',:ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd'.'
ddddddddddddxddxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,,,,,,,;;;;;;;;;;;;;;;;;;,,,,,'''''.''..';ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd,.'
dddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkOOOOOOOOOOkkxc,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;.'
ddddddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOkkkkkkkkkOOOOOOOOOOxl;,;;;;;;;;::::::::::::;;;;;;;;;;;,,,,''''''''......;dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd:.'
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOko;,;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,,'''''''......;xOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddc..
ddddxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOxc,;;;;;;;::::::::::::::::::::::;;;;;;;;;,,,,,''''''.......'oOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddl..
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOd;,,;;;;;;;::::::::ccccc:::::::::::;;;;;;;;,,,,,''''''........lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo..
dxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOx;,,;;;;;;;;:::::::::::::::::::::::::;;;;;;;;,,,,''''''''......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd'.
xxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOO:,,,;;;;;::::::::::::::::::::::::::::::::;;;;;,,,,,''''''''.....,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxxkkxxxxxxxxxxxxxxxxxxxxxxxxxdd,.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOo,,,;;;;;:::::::cccccccc::ccc:::::::::::::;;;;;;,,,,,''''''''.....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxkxkkkkxxxxxxxxxxxxxxxxxxxxxxxddd;.
xxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOO:,,;;;;::::::::ccccc:::::cccc::::::::::::;;;;;;;;,,,,,''''''''....;kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxdd:.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx;,;;;:::::::::::;,,'....',;;::::;;;;::::::;;;;;;;;,,,,'''''''''....dOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkkkxxxxxxxxxxxxxxxxxxxxxxxxdc.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOl;;;;;;::;;,,'...        ....',::::::::::::;;;;;;;,,,,,''''''''''...lOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdl.
xxxxxxxxxkkkkkkkkkkkkkkkkkkOOOOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOx;,,,;;;;;,'.      .....        ..''',,;;;;;::;;;;;,,,,,'''''....''..;kOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdo.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOOOkkOOOOOOOOOOOOOOOOOOOOOOOo......''''.  ......'';,,,.   ..........    .....''',,,,,''''.....'...'dOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkxkxxxkkkxxxxxxxxxxxxxxxxxxxxxxxxdd'
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOd:;;.            ..............  .....................      ..........'''''lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxkkxxkkkxxxxxxxxxxxxxxxxxxxxxxxddd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkc...dkl....       .......     ...  .   ....'',,;;;;;;;;;;,''.....   ..,;:;,,,lOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxddd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:. ..,kOk,...   ...  .''... .. .'''  .'''''',,;;::::cc:::::;;;,,',;;;:cc;,''...,xOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkxxxxxxxxxxxxxxxxxxxxxxddd:
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkko. ....,:l:   . .;:;.  ..'.......''. .,;;;;;;;:::cccccc:::::;;;,,,;:ccc;'',;:;,''ckOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdxdc
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk,.'';ol:,'....:ccc;. ..',,,''',,' .;:::::::cccccccccc:::::;;,,,;::;;;::cclc:;,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxdl
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx';:cdxxxd:';clllcc;.. .,;:;;,'. .;::ccccllllllcccccc::::;;;,,;;:::'..,:col:;;;ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl'''lxxddc:clllllcc:'.....''..,;;::cclllllllllccccc::::;;;,,,;:cll:,,,',clc::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl...lddlccloooollc:;,,'',;:::ccccccccccccccccccccc::;;;;;,,;;:lloc;coo:;c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx:,;:;::clllllllccc:;,,;::cccllllllccccccccccccc::;;;;;;,,,;:cc:;::lc:c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxd;,;;,''..'',;;;,,:cclllloollllllccccccccc::;;,;;;;,,,;;:;,;ccc::;:lxxxkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxo;..... .......';:cllllloooollllcccccccc::;;;;;;;;,,,;;;;::::::::dkkkxkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkkkkkkkkkkkkkkkkkkkkkxxxxxxdo,'.....'',,;:::ccclllllollllllllccccc:::;;;;;;;;,,,,,;ccclc:;,okkkkxxkkxxxxxxxxxkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxkkxxxxxxkkkkkkxkkkkkkkxxxxxxxxxxxxkkkkkkkkkkkkkkxxxxxxddl,'...'',,,,;;::::cccclllllllllllllcc:::;;;;;;;;;,,,,'';;;;,,,cxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkxxxxxxdddc'''''',,;;;;;;;;;;:::ccclllcclllcccc:::;;;;;;;;,,'''''.'',,,,dxxxxxxxxxxxxxxxxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkxxxxxddddddl'.........';:::;;;;;;::cccccccccc:::::;;;;;;;;,,,''',;;;;,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxdddddddddo................''',,;;:ccc:c:::::::;;;;;;;;,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd,..'''',,;;,,'.....'',,;::::::::;;;;;;;,,,,,,'''..',;;;;;;,,oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc.,'''',,,,,,,,,,,,''',;;;;;;;;;;,,,,,,,,,''''...',,;;;;;,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddd,..........''',,,,,'''',,,,,,,,'''''''''''.....',,;;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddd
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo;.......'','''''''''''''''''''''.............'',,;;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd;.'.'''',,;,,,,,'''''.''''..................''',,;;;;,,,,oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:'''',,,,,,,,;;,,,''''''....................'''',;;,,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo'......'''',,,,,'''..........................',,,,,,,,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo:.........''''''............................''',,,,,,,,:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddd
ddddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddoooo;.................................'....'''''',,,,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxdddddddddddddddddddooooooool;'..           ...............'''''''''',,,,;;,,,,,,,odddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooooooollc;,'..       ...........''''',,''''',,,;;,,,,,,,:dxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxdddddddddddddoodoooooooooooooolllc:;'.....      ........'''''''''''',,;;;,,,,,,,,lxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddxxxxxxxxxxxxddddddddddddoooooooooooooooooc:;'...........     ...........''''.'',;;;;;,,,,,,,;;cdxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddxxxxxdxdddddddddddooooooooooooool:'''.........''......................'..''',;;;;;,,,,,,,,,;:odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddxxddddddddddddddoooooooooc:;'. ............''''''''.................'',;;;:::;;,,,,,,;;;;;;,;:codxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooolcc:,'...... .............'''',,,''''..........'',,;;;:::::;;,,,,,,;;;;;;;,...'ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc;............  ..............,,,,'',,,,,'''.....'',,;;;::::::;;,,,;,;;;;;;;;,.....';cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddooc;'...............  ...............',,,,,,,,,,,,,'''''',;;;:::::::;,,,;;;;;;;;;;;..........,codxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddooo
dddddddddddddddddddddddddddddddddddddddddddo:;'.....................  .................',;;;;;;;;;,,,,,,,,,;;;::::::;,,,;;;;;;;:;,..............';codxxxxxxdddddxxxxxxxxxxdddddddddddddddddddddddddddooo
ooooooodooddddddddddddddddddoollcloddddolc,........................   ....................,;;;::;;;;;,,,,,,,;;:::::;;,,;;;;;::;,....................';cddddddddddxxxxxxxdddddddddddddddddddddddddddddooo
oooooooooooodddddddddddoddo:,.....',;;,............................   ......................',::::::;;,,,,,,,;:::;:;,,,;::::;,..........................,:ldddddddxxxxddddddddddddddddddddddddddddddoooo
oooooooooooooooodoooooooo:'........................................  ..........................';:::::;;;;;;;;:::;;;,,;;:;;'................................,:ldddddddddddddddddddddddddddddddddddddoooo
oooooooooooooooooooooooo:.......................................... ..............................,::::::;;;;;::::;;,,,,,......................................,ldddddddddddddddddddddddddddddddddddoooo
oooooodddddddddxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:,''''',;:clodxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddl..'
ooooooddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxoc:;,,''',,,,,,,,,,''''',,;:cloxkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddo..'
ooooddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxl;''''',,,,,,,,,,,,,,,,,,,,''''....';cokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd'.'
dddddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdc,,,,,,,,;;;;;;;;;;;;;;;;;,,,,,''''''''..';ldkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd,.'
dddddddddddxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkkkOOkkkkxc,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,'''''''''....,cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd;..
ddddddddxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkOOOkkkkkkkkOOOOOOOOOOxc;,;;;;;;;;::::::::::::;;;;;;;;;;;,,,,'''''''.......;okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd:..
ddddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOko;,;;;;;;;:::::::::::::::::::;;;;;;;;,,,,,,'''''''......;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddc..
ddddxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOx:,;;;;;;;::::::::::cc:::::::::::;;;;;;;;,,,,,'''''''......'okkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddl..
ddxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd;,,;;;;;;;;::::::::cccc:::::::::::;;;;;;;;,,,,,''''''........lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddo..
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOx;,,;;;;;;;;;:::::::::::::::::::::::;;;;;;;;;,,,,''''''''......'dkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd'.
dxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOO:,,,;;;;;;::::::::c::::::::::::::::::::::;;;;;,,,,''''''''......,kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkxxxxxxxxxxxxxxxxxxxxxxxxxddd,.
dxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOd,,,;;;;;::::::::ccccccc:::cc:::::::::::;:;;;;;;,,,,,''''''''.....lkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxdddd;.
xxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOO:,,;;;;:::::::cccccc:::::cccc:::::::::::::;;;;;;;,,,,,''''''''....,kOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkkxxxxxxxxxxxxxxxxxxxxxxxdd:.
xxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOx;;;;;:::::::::::;,,'.....,,;::::;;;;::::;:;;;;;;;;,,,,''''''''''...dOkkOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxkkkkxxxxxxxxxxxxxxxxxxxxxxxddc.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOOOOOOOl;;;;;;:;;;,,'...        .....,::::::::::;:;;;;;;;,,,,,''''''''''...lOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddl.
xxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOkOOOOOOOOOOOOOOOOOOOOOOOOOx,,,,;;;,,,'.      .....        ....',,,;;;;::;;;;,,,,,,'''''.....'..;kOOOOkOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxo.
xxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkOOkkOOOOOOOOOOOOOOOOOOOOOOOo.  ...''''.  ......'',,,,.   ..........     ....'''',,,,''''.........'dOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkxxkkxxkkxxxxxxxxxxxxxxxxxxxxxxxxddd'
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOo;;;'            ..............  .....................      ..........'''''lOOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkxkkxkkkkxxxxxxxxxxxxxxxxxxxxxxxddd,
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOOOOOOOOOOOkc...dkl....       .......     ...  .   .....',,;;;;;;:;;;,''.....   ..,;:;,,,lOOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkxxkkkkkkkxxxxxxxxxxxxxxxxxxxxxdddd,
xxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx;. ..,kOk,...   .'.  .''... .. .'''  .'''''',,;;:::::c:::::;;;,,'';;;:cc:,''...,xOOOOOOOOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxddd;
xxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd. ....':c:   . .;::.  .''.......''. .,;;;;;;;:::cccccc:::::;;;,,,;:ccc:'',;:;,''ckOOOOkkOOkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxdd:
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk;.',:ol:;'...':clc;. ..',,,''',,' .;:::::::cccccccccc:::::;;,,,;::;;;::cclc:;,,;xkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdc
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx';;cdxxxd:';clllcc:.. .,;::;,'. .;::ccccllllllcccccc::::;;;,,;;:::,..,:col:;;;ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddo
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl.'.cxxddc:clllllcc:,.....''..,;;::cclllllllllccccc::::;;;,,,;:cll:,,,',:lc::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkl...lddlccloooollc:;,,'',;:::cc:cccccccccccccccccc::;;;;;,,;;:llol;coo:;c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxc;;:;::ccllclllccc:;,,;::cccllllllccccccccccccc::;;;;;;,,,;:cc:;::lc:c::cdkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxx;,,;,'....'';;;,';cclllooollllllccccccccc::;;,,;,;,,,;;:;,;:cc:;;:lxxxxkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddd
xxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxxxxxd:.....  ......';:cllllloooollllcccccccc::;;;;;;;,,,,;;;;:c::::::dkkkkxkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddd
xxxxxkkkkkkkxkkkkkkkkkkkkkkkkkkkkxxxxkkkkkkkkkkkkkkkkkkkxxxxxdxo,'.....'',,;:::ccclllllollllllllccccc:::;;;;;;;;,,,,,;ccclc:;,okkkkxkkkkxxxxxxxxkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddd
xxxxxxxxkxxxxxxkkkxxxkkkkkkkxxxxxxxxxxxxkkkkkkkkkkkkkkkxxxxxxddl,'...'',,,,;;;:::cccclllllllcllllccc::::;;;;;;;;,,,,'';;;;,,,cxkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxxxxkkkkkkkkkkxxxxxxddddc''','',,;;;;;;;;;;:::ccccllcclllccc::::;;;;;;;;,,''''..'',,,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkxxxxdddddddl'.........',::;;;;;;;::cccccccccc:::::;;;;;;;;,,,''',,;;,,,,:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkxxxdddddddddo................''',,;;:ccc:cc:::::::;;;;;;;,,,'''',;;;;;;,,lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddd
ddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd,..'''',,;;,,'.....'',,;::::::::;;;;;;;,,,,,,'''..',;;;;;;,,dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddd
dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddc.''''',,,,,,,,,,,,''',,;;;;;;;;,,,,,,,,,,''''...',,;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddxdxdddddddddddd
ddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddd,..........'',,,,,,'''',,,,,,,,'''''''''''.....',,;;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddo;.......'','''''''''''''''''''''.............'',,;;;;;;,,;dddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddd;.'''''',,;;,,,,,''''.'''...................''',,;;;;,,,,oddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd:'''',,,,,,,;;;,,,''''''...................'''.',;,,,,,,lddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddo'......''',,,,,,''''.........................',,,,,,,,,cdddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
ddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddo:.........''''''............................''',,;,,,,,:ddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddd
dddddddddddddddddddddxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddodoooo:.................................'..'.'''''',,,,,,,,,;dddddddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddd
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxddddddddddddddddddoooooooool:,...           ..............'''''''''',,,,;;,,,,,,,odddxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxxdddddddddddddddddoooooooooooooollc:,'..       ...........''''',,''''',,,;;,,,,,,,:xxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
dddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxddddddddddddddoooooooooooooooolllc:;'.....      ........'''''''''''',,;;;,,,,,,,,lxxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddxxxxxxxxxxxdddddddddddooooooooooooooooolc:;'...........     ...........'''..'',;;;;;,,,,,,,;;lxxddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddxxxxxxxxdddddddddddoooooooooooool;'''.........''.....................''..''',;;;;;,,,,,,,;;;:odddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddxxdddddddddddddddoooooooooc;,'. ............''''''''.................',,,;;:::;;,,,,,,;;;;;;,;:cldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddo
dddddddddddddddddddddddddddddddddddddddddddddddddddddoooolcc:,'...... .............'''',,,'''...........'',,;;;:::::;;,,,,,,;;;;;;;,...'ldxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddddddooc,............  ..............,,,,',,,,,,'''.....'',,,;;::::::;;,,,;,,;;;;;;;'.....';cdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
ddddddddddddddddddddddddddddddddddddddddddddddddolc;'...............  ...............',,,,,,,,,,,,,'''''',;;;;::::::;,,,;;;;;;;;:;,..........,codxxxxxxxxxxxxxxxxxxxxxxxxxxxddddddddddddddddddddddddddoo
dddddodddddddddddddddddddddddddddddddddddddl:,'.....................  .................',;;;;;;;;;;,,,,,,,,;;;::::::;,,,;;;;;;;;;,..............';loxxxxxxxdddddxxxxxxxxxxdddddddddddddddddddddddddddooo
ooooooooooddddddddddddddddoooolccloddddol:'........................   ....................,;;;::;;;;;,,,,,,,;;:::::;,,,;;;;;;:;,....................';cddddddddddxxxxxxddddddddddddddddddddddddddddddooo
oooooooooooddddddddddddoodo:,......,;,'............................   ......................',;:::::;;,,,,,,;;:::;:;,,,;::::;,..........................,:ldddddddxxxxddddddddddddddddddddddddddddddoooo
oooooooooooododddoooooooo;.........................................  ..........................';:::::;;;;;;;;::::;,,,;;:;,'................................;codddxdddddddddddddddddddddddddddddddddoooo
oooooooooooooooooooooooo;.........................................  ..............................,::::::;;;;;::::;;,,,,'......................................,odddddddddddddddddddddddddddddddddddoooo