...............................................................',:c:;;;;;;;::ccccclloddddddddxxxxddooooloodddllcc:;,'''..'''............................................................................................'',,,;:lllol:,,,,,'''''',,;:ldkO0KKXXXXXXXXXKKKKKKXXXXKKKKKKKK000OOOO00000KKKXKKKKKXXKKK000000KKKK00OkxxxxxdddxddddddxxxxxxxxxxxxxkkOOOOOOkkxddddxkxxkOOOOOkkkkO0XXXXXKK000KKKK00kxddddd
.................................................................''''''',;::::::ccllooodddddddddddoooollllllc::;,'''''''...............................................................................................''',,,;;;;;;;,,,,,,''',,,:loodkO00KKKKKKK00000OO00KKKKKKKKKKK000OOOkkkO0000KKKKKKKKKXXXKKKKKK0000KK00OOkkxxxddddddxxxxxxxxxxxxxxxkkOOOOOOOkxxxdddddxxkkOOOOOkkkO00KKKKKKK00000OOOOkxxdddo
........................................................................,:::;,,;;cclllllllooddoooolllc;;,,''...''....''''.........................................................................................''''''''',,,,,,,,''''',,,,,,;codddxkkkOkkkOkkkkxxxxxxxkkkkkkkkkOOOkkkxxxxkkkkOOO0000KKKKXXXXXXXXXKKKKKK000OOOkkxxxxxxxkkkkkkkkkxxxxxkkOOOOOkkkkxddxddddddxxxkkkkkkkxkkkOOOOO0000OOkkkkkkxxdddd
................................................''''''..................,;::;,'',:cccclllllooooooolc;'.....................................................................................................''''''''''''''',,,,,,,,,,,,,,,,,,,;;:ccllllodddodddddddddddddddddddddxxxxkxxxxxxxkkkOOOOO0KKKKKKKXXXXXXXXXKKKKK00000OOkkkOOOkkkkkkkkkkkkkkkkkkkkkkkxxxxxddddddddxxxxxkkkkxxxxxxkkkOOO000kxxxxxdddoood
...............................................',,''''....................',,',;;:cclloooooooodooolc,...............................................................................................''''''''''''''''''''''',,,,,,,,,,,,,,,,,,;;;;;;;;;::cclloddddddoooddddddddxxxxxkOOOkkkkkOOOOOOO00KKKKKKKKXXXXXXXKKKK0000000OOOOOOkkkkkkkkkkOOkkxxxxxxddxxxxxdddddddddddxxxxkOOOkkkkkkkkkOOOO00KOkxxdddddoldk
..............................................................................',:ccccllllllcc:ccc:;,...........................................................................................''''''''''''''''''''''',,'',,,,,,,,,,,,,,,,,,,;;;:c:;;:lodddddddxdodoooddxxxxxxxkkkkkO000000000KKKKKKKKKKKKKXXXXXXXXKKK000000OOOOOOkkkkkkkkxkkkOOkkxxxxdddddddddddddddddddddddxxO00OOOkkO0OkO0OOO00OOkkkkkkxxxxO0
...................................................................',;:c:;,,,;;:cllcccllcc::;,;;;,''',;::::::::;,........................................................................'''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,;;,,;,;;;;:ooc;;cdxkkxxddxxddddoddxxxxxxkkkOOOO000KKKKKKKKKKKKKKKKKKXXXXXXXXXXKKK0000OOOOOOkkkkxxxxxxxxxkOOkkxxddddddddddddddddddddddddddxkkkkxxxxxkkkO00OOkkkkOOOOkkkkkO00
.................................',,,;,'',;;''...................':oddoooolllloooooolllllcc::,'''',;;clodooooollc;,..........................................................'''....'''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,;;;;;;;;::::clol:cloxkkxxddxxdxxddxkkOOkOOOOO00000KKKKKKKKKKKKXXXXXXXXXNNNXXXXXKKK0000OOOOkkkkkxxxxxxxxxxxkkkxxxdddddddddddddddddddddddddddddddddddxxxkkkOOOkkkkkkkkkkkOOOO00
...................',,,''.......';::c:;,;;;;,''''';:;,''',;:;;;;:ldxxddddddoooddxxdddoolllllccllllloodxxxxdddolllc;'..,;,','......................................'....''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,;;;;;;;:clooolccc:;;:ldxxxddddddxkkOO00KKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXKK0000OOOkkkkkkkxxxxxxxxxxxxddddddddddddddddddddddxxkkkxdddoooodddddxxxxkO000OkkOOOkxxxxxxkkOO
....................',;;;;;;,'';:cccc:::;;;;,,,,;:cllccclllooooooodxxdddddddddddxdddddoooooloxkkxdddxxxxkxxddolllc;;;:looodollooc;'....................'''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;colcc:::;;::::codddddddxxkkOO00KKKKKKKKKKXXXXXXXXXXXXXXXXXKXKKKKKKKKKKKK000OOOOOOkkkkkkkkxxxxxxxxxdddddddddddoooooooooodddddxxkkxdddddddddddxdddxxxkOOOOkkkkkxddddddxxxx
........................',,;;;;:::ccc:::;;,,,,,;;::ccccclllloodoooodddoodxxddddddddddxxxxkkxdxkOkkkkkkkkkkkxdolllllloodxkkOkkOOOOxlccoo:,',,'''.''''''''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,;,;,,;:c:;;;;;;;;;;;;;;;;::;;::;:::cllloxkxxxxxkOOOOO000000KKKKKKKKKXXXXXXXXXXXXXKKKKKK0000000OOOOOkkkkkkkkkkkkxxxxxxdddddddddddddddooooooooooooddddddddxxkkxxxxdddddddxxxxkkkkxxxxxdddddddddddd
....................''''''',;;;;;;:cccc:;,'';:::::::cccclllloooolllllllloooodddxxxxxkkkkkOOkkOOOO00OOOkkxxxddlccccllloodxkkddddxkxddxkxolcll;''''''''''''''''''''''''''''''''''''''',,''',,'',,,,,,,,,,,,,,;,,,,,,,;:cooolc::;;;;;;;;;;;;:ldxkkdooodlcoOKK0kkkkOOOOOOOOO00000000000000K0KKXXXXXXXKKKKK0000OOOOOkkkkkxxxxxxxxxxxxxxdddddddddddddooooooooooooooooooodddddxxkkkkkxxdddddxxxxxxxxxddddddddoooooooooo
..........'''''''''''''...';;:;,,,,,;;;,',,;cllcc::clllooollcclllc:;,,;cloddxxkkkOOOOOOOkkkkkOOOO00OOkkxdoodolc:::cccclloddooooddoooooolllc:;'''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;,;:llloolc:;;;;;;;;;;;:lkKKK0OOkOOkk0XKXKOOOOOOkkxxxkkO00000KKKKKK0KKXXNNNNNNXXXKKKKK00OOOOkkkkkxxxxxxxxdddddddddddddddddooooooooooooooooooooooooddddxxxxxkxxxxxxxxxxxdddddddddddddooooooooooo
''''''''''''''''''..........';;'''........',;:cccc::clooddoolc::::;,,;coddxxkkkkkkkOOOOOkkkkkkkkOOOOkkdoollllccc::::::cccccllllllccccccc:;,,''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,,;;;;;;;;;;;;;:c:;:::;;;;;;;;::cclxO0KXKKKXKKXXXNNXXXXXXXXK0Okxxk0KKXKKKKXXXXXXXXXNNNNNXXXXXXKKKK00OOOkkkkxxxxxdddddddddddddoooooooooooooooooooooooooooooooooodddddddxxxxxxxdddddddddddddooooooooooooooool
............................','...........',;cdxddooddddxxxxxdddxxolllloddxxxxxxxxxxxkkkkxdoddxxkkkxxdollccc:::::;;,,,,,,,,;::::;,,,,,,,,'''''''''''''''''''','',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:codxOKXXXXXXXXXXXXXXKKKXNNNNNXK0OOO0KXXNXXXKKKKKKKKXXXXXXXXKKKKKKK000OOOkkkxxxxxdddddddddddddddoooooooooooooooooooooooooooooooooooddddddddddddddddddddddooooooooooooooooooool
..........................................;odxxkkkxddxxxxxxxdxkkkxdddooooodddddddooooodddollloooooollcccc:;;,,,,''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,;;,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::coxxO000KKXXXXXNNXXKK00KKXXXXXK0OOO0KKXXXXXXXXXXXXXXXXKK000000000OOOOOkkkkkxxxxxxxxdddddxddddddddddoooooodddddddddooooodooooooooooooooooooooooooooooooooolooooooooooooooooooo
...',,;;;;,,,''.........................',;cldoodddddxxxxxxxxkkkxxdddooodddddddoooooooooooooolloolllc:ccc:::;''''''''''''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,;;,;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::clooooodkkkOOOOkkOOO0KKXXKKK000KKKKKK00OOOO00KXXXXXNNNNNNNNNNNXXKKXXKKK0OOOOOOOO0OOkkkkxxxxxxxxxxxxxddddddddddddxxkOkkxxddddodddooooooooooooolllllllooooooollccclloolllloooooodddddo
'',,,;;;;;;;;,,''..........................',;;:ccllodxxxddxxxxxxddoooodddoooooooooollloooooooodddddolclllc:,'''''''''''''''',;;;,,''''''''''''''''''',,,'',,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:cccclooddddxxkkO000000000000KK00000OOOOOOOOOOOOOO0KKXXXNNNNNNNWWWWWNNNNNNXXXXX00000KKKK00Okkkkkkkkkxxxxxxxxxxxddxxxkxxxxxxxxddddooodddoooollloooololllccclllcllllcc:;::cc::::::ccclodddool
;;;;;:::;;;;;,,,,,''...........................,;;;;cdddoooddddddollllllllllllllllooolllllooollllooolccccllc:;:;,,,,'''''','',;;,,',,'''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:ccclodxxddxxkOOO000KKKKKKKKKKK0OOOkkkkkkkkkxxxkkOKKXXXXXXKxooxkOXNNXXKKK00OOkkxxxddddoooollllcccccccc:::::::::::cccccccccc:::cccccccclllllllllllllllllllll:;;;;;;::;;;;;:;;;;;;::clooolllc
::cccccccccc::::::;;;;,,,'''............''''''',,,,,:looooddddddollcccccccccccccllloollcccllllcccccccclloddddxxollc::cccclc:;;;,,'''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::ldOKKOkxxxkOOO00000OOOOOOOOOkkxxxxxxxxdddddxxxkO0KKK0Okc,...',;:;;,''.......... ...............'''',,,,'....';;;;:::::;;;;;;;:cc::::c:
',,;;::::::::::ccccccccc:::::;;;;;;,;;;;;;;;;;::::::ccclooooooollcccccccccccccccccclllcc::::::::::::cllollllcllcccllloooooollllc:::;,,;::::;,,'',,,,,,,,,,,,,,;;;;;;;::;,,,,,,,,,,,,,,;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;:ccoxOOOOkkkkkkOOO000OOOOOkkkxxxxxxxdddddddddddddxxkxo:'.... ......';:;;;;;;;;;;;;;;;::
...........'',;:loooooooollllllccccccccc::c:::ccccllccccllloolccccccc::::::::::::::c::::;;;;;;;:::::ccccccc::ccccllccllllllllllccccccclolll:;,'''',,,,,;::;;:cclcllllllc;,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;;;;;;;;;;;;;:coxkkOOO000OkOO00000000000000Okkkkkkkkkkkxxxxddddxdc. ........................... ..,;;:;::;;;;;;;;;;
..............';cooooolllllllllcccclllllclloooooodddooooolllccccccc:::;;;;;;;;;;,,;;;;;;;;;;;;::::::::cccllllllccccccccccccclccccclcclooolc;,,'',,,,,,,;:;;:cccccccccc:;,,,,,,,,,,,,,,,;,;;;;;;;;;;;;;;;;:lodddollllloxxkO0000K00OOO0000000O00000OkkkkOOOOOkkkxxxdddddl' .....''',,,;;;;,,,,,'''''''''''''''''''''.................. .;:::;::;;;::;;;
................',;;:ccccllllllcccc:::::::cclllloooooollccc:::::::::;,,,,,,'''''',,'',,,,,;;;;::::::::cllllccc:::::cccc:ccccccclccc:::clcc:;,',;;::::cccccc::;,,,,;;;,,,,,,,,,;::::;;;;;;;;;;;;;;;;;:cccldO00000kddddxkO0000000OOOO0000000000000OOOOOOOOOkkxxxxxxxddd;. .....'',,,,,,,,,,,,'''''................................................... .';::::;;;;;;;;
....................'',,;;:::::;;,,,,,,,,;;;:ccccccccccccc:::;;;;,,,,,''''''''''''''',,,,,;;;;::ccccccccccccc::::::::::cccccccc:;;;:cccllccc::cccllllllllc::;,,,,,,,,,,,,,,,;:coool:;;;;;;;;;;;;;;;clddxkO00000OkxxxxkkO0000OOOkOOO00K00KKKKKKKKK00OOOkkkkxxxxxddddo' ....',,,,,'''''''''''''........................................................... .,::ccclc:;;:
..........................''''''''''''.'';:looolccccclllllllllcccccc::::::ccccc:::;;;;::::::::ccccccc::::::;,,'''''.',,:::::cccc::cllllllllllloooolllllc:;;::;;::cclllcccc:;::cccc:;,;;;;;;;;;;;;;:cloooddxxxxddddxxxxxkOOOOOkkkxxxkkkkkkkkkkkkkkkkxxxddddddddddddc. ...'',,,'''''''...'''.................................................................... .,loollc:;;:
................................'''''.'';:llooolccccclooooddddddddddoooooolooooooollcc:;,,,,'''............ .......',',;::cllcllloooooolllllc::;:ccllllooddoooollcc::;,,,,;;;;;;;;;;;;;::cccclllllllloooddxxxxxxkkkxxxxxxxxxxddddddddddddddooooooooooo;. ...',,,''''''.................................................................................. 'ccc:::;;;
.................................'''..'''',,;;;;:::cclooooddddddooooooolllllc;;;,,'... . . .. ..;llooooooooooolllccccclllllooooolllllllcc:;,,;;;;;;;;;;;;;:::ccccccllllllloooooodddddddddddddddddxxxxxxxxdddddooooooooooo, ...',,,'''''................................... ............... .,:::::::
................................''''''''''''''',;:ccllooooooooodddddoc'...... ..';:lddoooooolllccclllllllllllllcccccc::;;,;;;;;;;;;;;;::::ccccccclllllllooooodxddddddddddddddxk00KKKK0Okkxddddddddddo, ...',,'''''............................... ............ '::::::
.............................'''''''''''''''''',:cccllooddddolc;,'''. ..;::coollccc:ccclclllccccllccccc::;;;;;;;;;;;;;;;::::ccccccclllllodxddxxxkxxxxxxdddxxxxxxxkkO0KK00Okkxddddodoodo, ..'''''''............................................................ ............ ':c:::
...........................'''''''''''''''''''',;clllccc:;,... ;ddollccccccccccccccccc::::::;;;;;;;::::::::cccccccccclllloddxkkkkxxxxxxxxxddddxxxkkkkOOOOOOkxxxxxxdddoddl' ...''''.................................................................. ..... .... .:ccc
..........................'''''''''''''''',,,,;;,',,.. .':clllcccccc:::::cccccccc::::::::::::::::ccccccccclllllloooodddddddddddddoooddddxxxxxxxxxxxxdddddddooool' ..''''..................................................................... .. ... .:ll
.........................'''''''''',,,;;,,'..... .. ..,cllcccccccccllllllolllcccccccccccccccccllllllllllllllooooooooooooooooooooooodddolc;;,''''',,cooool' ..'''.................... .............................................. ... .. .:l
......................''''''''''''...... . .',;clllllllllllllllllllllcccccccccccccllllllllllllllloooooooooooooooooooool:,'..........''..lool' ...'..................... ............. ............. .. .. .;
.................'''''..... .. . .. . .,:loolllllllllllllcllclllllllllllllllllllllllllllllooooooooooooooooc;.. ..........,. .ldl' ..''..................... ........... ............ . .
.............''''',,. . .. .... ..'',;ldxdddoooollllllllllllllllllllllllllllllllllloooooooooooooo;. ... ,ol. ..''................ ........... ........... ........... .. . .
''''''''''''',,,,,.. . .';cloddooodooolllolloloolllllllllooolllllooooooooooooooool' .cl' ................. ..................................... ...... .... ..
,,,,,,,,,;;,'.... ... ... . ..,:cldxxdollloolloolooooooollolooolllooooooooooooooooo; 'c;. ................ ............................. .....
..'',,...... . ... ... .',;;colcclllodl:cllllloooooooooooooooooooooooooool. .',::;,'........................................... . ..... ................. ..............................
. .. . .... . .',::llloolcllllc;coooooooooooooooooooooooooooc,'... ..,::::cc:;;,''''''''''''''''''''''''''''''''''.'''........................................................................'''''''''',,,,,,,,,,'''''''''..',,;:
.. . .... ...... . .. ... ..,;ccclollolcoollloooooooooooooooooooooooodooolcc:;;,....''.';:::::ccc::;;;,,,,,,''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''''''''''''''''''''''''',,,,,;;::::;
.. ................ ......... ... ....,;codollooc:coooooooooooooooooooooooooooododo:,'''''''';:ccccccccllccccccc::::::::::::::::::::ccccccccccccccclllllllllllllllllllllllllllllllllllllllllllllllllllllllccccccccccccccc:::::::::::::::::::ccccccc::::
.. ...... . .....''..''''.... ....''';cc,.,looooooooooooooooooooooooddddooc,,,..''','',:loooollllllllllllllllllllllllllllllllllllllllllllllllllllllloooooooooooooooooooooooooooooooooooooooolllllllllllllllllllllllllllllllllllllllllllcccccccc
. ... ...... .......'....... ........'..';cllooooooooooooooooooooddddool:'.,;;,,,,,;;;,;:ldxdoollllcccccccccccccccccccccccccccccclllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllccccccllcccccllclllllo
.............. ............''.... ....;lllloooooooooodddodddoolc;'...',;:::;;::::;;;:ldxxdolllcccccccccccccccccccccccccccccccccccccclllllllllllllllllllllllllllllllllllllllllllllllllllccccccccccccccccccccccccccccccccccccccccllllloddo
... .. ........ ................ ..,cllollodddooolclllccc;'.......',;:loollllccc::lodddoolllcccccc:::::ccccccccccccccccccccccllllllllllllllllllllllllllllllllllllllllllllllllllllllccccccccccccccccccccccccc:cccccccccllllooooddolc
.. ..... .. .... .......... ...,:loodollllllcloc;........'''',;:lodxkkkkxxdoddxxxdooolllccccccccccccllllllllllllllllllllllllllllllllllllllloooooooooooooooooooooooollllllllllllllllllllllllllllccccccccccclllloooddxxxddooo
.. ....... ............. . .,::llllclolll:'. ....'',,,,,;;:clodxkkkkkkxxkOOOkxxddddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddooooooooooooooooooooooooooooooooooddddxxkOOOOkxkkkkk
... ...... ................. ...,;:colcc;. ... ....'',,;;:::cclloddddxxk0000OOOkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkkkkkkkOOOO000KK0Okkxxxddo
...... ... .....',',;,,,,,....... ...,::,. ..',,''...............'',;::cccllloooddxxxkkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0000000000000000000OOOkkxxxddooollc:
.. .....'.',,;;;,..','.''.... .''. ...,;:c:::;;;,''...........'',,;::cccllllllooodddxxxxxxkkkkkkkkkkkkkkkkkOOOOOOOOOOOOOOOOOOO000000000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkkkkkxxxxddddddoollc:;;,''....
....',;:;',;;:;:::'..,.. ..'. ':coo;'..'',,;;,,,,,''...............'',,,;;:::ccclllllooooooooooodddddddddddddddddddddddoc:ccccccclddddddddddddddddddddddddddddddddoooooollllcc:::;;,,'..... .....
.........;::;::;,,;::,,,,,.... . ..... .. .cx0Kk:.... .''................. ...............''''''''',,,,,,,,,,,,,,,,,,,,,,:;''':oc;;,,,,,,,,,,,,,,,,,,''''''''''............... ............
...''...,,'',,;:;;;,'... ..'. .. .;col. .... .',.. ...... ........................................... .,...;. ::..;. ........................................... ....
.........''.. ...'. .....,;:. ... .......................:, .;.,; 'c. .....................
........ .',. ......,,.. . ... ..', .;'. ';... ....
.;,. .............. ....''',,,,,,,,,,''''''''',,,,,,'''',,,,,,,,,,,,,'... ,,. .;,. ';. ...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;::;;,,''.... ...
. .',;,'.... .....''',,,,;;,,,''...''''''''''',,,,,,,,,,,;;;;;;;;;;;;;:::;... ''',.''',. ...,:;;;;;;;;;;;;;;,,,,,,,,,,''''''''''......'',;;;;;;,,,,''....
.... .. .. ............................ . .. . ..',:clcc::;,''....... ...''',,,;;;,,''................................'''''''''''''''''''''.... .'. .'. ....''''''''''''''''.....................................',,;;;;;,,
. ...........................''''''',,''',,,,,,,,,,,;;;;;,;;;;;;,;;::;;;;;;;;;;;;;;;;;::;;;;;,,,,,''''''.........'.....'......'''''..'''.'''',,,,'','. ...,codddooolllccc::::;;;;,,,,'''...........................................''''''''''''''''''.... .. . ....'''..''......'...............................................'',
....................................'...'.'','...'',,''',,,;;,,,,,;;;:;;;;;;,;;,;;::;;;;;;;;::c:::::cc:;:cccc:::::::::::::::::::::::;::::;;;::::c::ccccc:::c::ccccc;. ...':dxxxxxxdddooolllllllc::;,,;;;,,,,,''''''''......''''''''''''''''''''''''''''''''''''''''''''............'''''''''''''''''''''''''''''''''''''''.....''..''''''''',,,,;;;;,
..... ... ..........................'...'.......'..'''''''',''''',;;,,,,',,''',;:;;;;;,;;;:::::::::;;;;;:;;;::::clcccc:cccccc::ccccccccccccccccccccccccccccccccc,. ....;okkkkkkxxxxdddddddoodddolcccclllcccc::::;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;::::cccclllccccl
. ........................................................''....'.......,,,'..''....',,;::;;;,,,;;;;::::;,,,,;,,,,;:::ccccccc:cccccccc::cccccccccccccclllllllcllllllll, ...':xOOOkkkkxxxxxxxxxdddddddddollllodddddoooooolllllllcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclllccllllllllloooooodddddddolllodxx
. .. ....................................................................'''.........',';;,,,,',,;;;;;,,''''',,,,;;;:::cc::::;;::cccclcccccccccccccccclccccccllllllllol, ...,lk0OOOkkkxxxxxxxxxxxxxxxxxxxxdolllloddddddddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooodddddddddxxdooooodxxxxxx
......................................................'.........................''''''''''',,',,'''..'''',;;;;::::::::;;;;;::::cccc:::::ccccccclllllllllccccccllll, ...,ldxdddxxxxxxxxxxxxxxxxxxxxxxxxxddolllllodddddddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooddddddddddddddddddddddddddddddddoolooooxxxxxxxxxx
... .............................................'...''....'..'....... ............'''''..'''..''',',,,'',;;;;;;;::;;,,,,,,;;;:;;;;;;;::ccclccclllllolllllcclccll:. ....... ......',,;;:ccloodddxxxxxxxxxxxxdolllllllllllllooooooooodddddddddddddddddddddddddddddddddddddddddddddddddddddxxxxxxxxxxxxxxxxxdddddddoooooollllllolooodxxxxxxxxxxxdd
... .................................................''''..'...... ............................''''''',,;;::;,,','....';,,,'',,,',:cccllllllllclolclllllllllo;. ....'',,;::cclloodddddddoooollllllllllllllllllllllllllllllllllloollllllllllllllllloooooooooooooooooooooooooooooooooooooooooooooddddddoollcc::;;,''..
. . . ... .... .................... ..........''''....... ......... ......... . ............''';::;,'.''....';;;,;;,;;;::ccccllllooollolcllclllolll,. ......'',,,;;;:::cccccllllloooooooooooooooddddddddddddddddddddddddddddddddddddddodddooooooooooolllllcccc::;;;,,,''......
....... . ................. .................... ........ .......................'...'',;,;;'.,,,;:;:cclc:::ccccllclolodddolllllllccllloloc.. ...................'''''''''',,,,,,,,,,,,,,,,,,,,,,,,''''''''..................
. ... . . ...................................................''................'''..,,,;:::;,;;cllllllccllcccccllllllloooolllllclccllllcc;.. ................................................................................ ...
... .. ...............................................''''''''''',,'',,'','';,,;:::c:::clccll::ccccccccllclllllooooollccccc:;::;;;,. . .... ................,,,,,,,,,,,,,,,,,;,,,,,,,,,,,;,,,,;;,,,,,,,,;,;;;;;;;,,,,;:,......... .......
. .... ................. ........''','.''''..,,,;,',;,',,,;;;;;;;;:;;;;ccc:;cllcclllcc::ccc:cllcllclllllllll:,;::,''''',,. .. .......... .................,,.':'.;,...:;....;cccccc:'.':;.....;ccccc,.,ccc'.;lc'..'';c;........... ...........
. ...... .... ... ....,'',,,,''''.'..'',;;,,;,,;;;;;:c:::::::;:ccc::llclcllll:;:::::;:::cc::::ccc:c:;',;,'..':cll' .. ................ ..................', .,..'..'..,....':::::c:. ,c;..,' .:ccc'.':c:. .,cc. ',;ll,.......... ................
.... . .....;,',,,'',,'..''''';;,,,,;;,;;,;::;;;;;:cl:clccclllcllc:;;;;;;;;::;;,,,,,,;,',,;::ccc:codxkd' ... ..'................... .................',. .. ':..'. ..,;....;:. ,c;..;;..:c:'...,c' .. .;. ',;cc,...................................''''
. .. ......:;,,,,,'''...',,',;;,,,,',;;,',::;,,;:;;:;clccccccccc:;,;;,,,,,;;,'.........';loodxkkkkxxxo'. .. .'''''''''''................... .............';. .' .,..'... .'....';. 'c;. ,' .;c;. . .;. .'..,..',,;:,...............................''''''',
... . .....,:;,,;;,,,'',,,,,',;;,.,,',;,,;;;;,,,,,',;;c:;:::::;,'..'''''''.'........';:loxxxxxxxxdddddl'..... .....',,,,,,,,''''''''''......................................,:'...,:'...;;...':c;,,;c;...:;.....,ccc::,.'::'...;:'....';'......................'''''''''''',,,,,
. ... ... . ......,;,,;;,,'',,',,',',,,'',,.',',,,,,',,,',;;;:;,,;,,,..............',;::clldxxxxxxxddddooooool,..... ..',,,;;;;;;;;,,,,,,'''''''''''............................. ........................''..............................................'''''''''''''''',,,,,,,,,;;;;
.. . .'.................',,',;,,,'''.'''''',,,'',,'''',,,,,',,,;;'',,'.,;'........ .',;:lodxxxdddxxddooooooooooooool,...'. .....';:::;;;::::::::;;;;;,,,,,,'''''''''''''''........................ .........................''',,;;;;;;;;,,,;;;;;;;:::c
. . . ....'..................,'.',,,,'''..'''.';;'.'''....,;,''',,,;,'''''''.......,;;:clddxxddxdddoooooooooooooooooooool,...'. ....',;;::cccccccccccccc:::::;;;;;:::::;,'..... ....',,;:cllllcc:::cccc
.. . ... ... ............. ......''',,',,'''.''','''''.... .........''.''.',''',,,;:cloddxddddddooooooooooooooooooooooooooool,...'' ..',;;;:::cclloooooolllllllloddoolc:;'... ..',;cllodddoo
. .. ..... .. ..........'.........''..''.......','''........ ..........',,;::cllodddddddddoooooooooooooooooooooooooooooooodo;....,'',,;;;:::cclloooodddxxxkkkxdoc:;'.. ..',:cl
..... ... ... .........,'........''........ ....''......... ..',;:ccloodddddddooooooooooooooooooooooooooooooooooooddoo,. ....',,,;;::ccloodxkkOkxdol:;'..
..... ...... .........'.................. ......... ..',;:cllodddxdddoooooooooooooooooooooooooooooooooooooooooddddo, . ........'',;:::;,..
. .. .... ................................ ...',;:clooddddddooolllllooooooooooooooooloooooooooooooooooollccccccc,
. . ... . ..'............'... ........ . ..',;;:cclooooooollllllllloollloolooooooooooooooooooooooooooooolllcccccccl:. .
...................... .. .. ....',;:ccllooooooolllllllllllllllllloollooooooooooloooooooooooooooooooddddlcloddo. ... .. .... ....
. .... ........ .. .. ... .. ....,;:cccloooooolllcccllllllllllllllllllllllllllllllloolloooooooooooooooooooodool:ldddd; ............... ..... ... .. ... ...
... ... .. ...,;::ccloooooooolccccclllllllllllllllllllllllllllllllllooooooooooooooooooooddodddooddlcodddl. ............................................ ..........'''''..........
. . ..',,;::ccllooooollcccccccclcccclllllclllllllllcllllllllllllllloooooolloooooooooooodoooddooddllddddo' ............''''''''',:codxxxxddddoooolllllcccccc::::::::;;;;;;;;;;;;;;;;;;;,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;;;;;;;;:::::::::ccccllllllllooooodddddddddddl:;,''''..
..',;:::cloooloollc::::ccccccccllccclccllclllcclllcllllllllllllllllllolllolloooooooooooooodddodolllodddoo' ...'''''',,,,,,;;;;:::::cccccllloooodddddddoooooolllllllllllllcccccccccccccccccccccccccccc::::::::::::;;;;;;;;,,,,,,,,''''''............
...',,;;::clllllollc:::::ccccc:cccccccccccccccccccccccclccllllllllllllllllllllllooloooooooooooooooooolccccoddolc, ........
...,;;;;;:ccllllllcc::::::cc::::cccccccccccccccccccccccccccclcccccllllllllllllllllllloooooooooooooooooooooooooddolccc;.
...',;;;;:clllcllcc:;;;:::::::c::::::cccc::cccccccccccccccccccccllccclcccllllllllllllllollllloooooooooooooodoooooooolccccc:. ... .. ................
....',,,,;:ccllcccc::;;::::::::::::::::::::c::c::cc:::ccccccccccccccclccllcclccclllllllllllllllllloooooooooooooooooooooolccccccc:. .'.......... ..........'','.
.....',,,,;:cccllc:;;;;;:;;::;;::::::::::::::::::::::::::::::ccccccccccccccccccclllcccclllllllllllllloooooooooooooooooooooooolccccccccc,. ......... ..........'.
....',,,;;:ccccccc:;;,;;;;;;;;;;:::;:::::::::;;::::::::::::::::::ccccccccccccclccccccllcclccclllllllllooloollooooooooooooooooooolccccccccc:c;. ...... ........
....'''';;:ccllc:;;,,,;;;;;;;;;;;;;;;;;::::;;::;;;;;;;;::::::;::::::::c::::ccccccccccccccccccclcccllllllolllloollolooooooooloooolloolcccccccccccc:.
.....'..''',;::::::;;,,,,,,,,;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::c::cc::::ccccccccccccllccllllllllollloollloooolooolloooooooolccc:ccccccc:c;.
.......',,;;::;;;,''',',,,,,,,,,,,;,;,;;,;;;;;;;;;;;;;;;;;;;;;;;;;::::::;::::;;:cc:::::cc:::::cccccccccllllllllllllllloollloololllooooolooooolccc:ccccc::::::,.
. ........'',;::;,''''',,''',,',,,,,,,,,,,,,;,;;;;,,;;;;;;;;;;;;;;;;;;;;;;::::;:::::::::::::::ccccc::cccccccccllcllccccclllcllllllllllllloooolloollllllcc:ccc::ccc:::;.
......',;;;;;;;,'.'''''''''',,'',,,,',,,,,',,,,,,,,;;,,,,;;;,;;,,;;;;;;;;;;;;;;;;::::::::::::::::cc::ccccccccccccccclccllcclllcllllllllllooolloooloooooollllcccc::c::::::;'....
....',;;::;''..''......''''''''''','''',,,,,,,,,,,,,,,,,,,,;;;;;;;,;;;;;,,;;;;::;;;;;::::::::::::::::::cccccccclcccccclcclllllllcccllllllllllolllllllollllllloolllcccc:::::::;;,,''...........
..',,,,,'''............''......'''''''''''',,,'',,,,,,,,,;,'',,,,,,;;,,,;;,,;;;;;;;;;;;;::::::;:::::::::::::::cccccccccccccccclccclccclllclllllllolllllloloooolllloooooooollcccc::::::;;;;,,,,'''................. ........
....,;;;,,,.............................'..''''''''''''',,,,'',,,,,',,''',,,,,,,,;,;;;;;;;;;;;;;::;;;;::::::::::::::ccccccccccc:ccccccccccccccclllllcllloolclllllllooolloooooooooooooollcllccc::::::::;;;;;,,,,'''''............................. .. ...........................''''
...',,,,,,,'...............................''''.'''''''''..'''',,'',,',,,,,''',,,,,,,,;;;;;,,;;;;;;;;:;;;;;;:::::::cc:ccccc:cccc:ccc:ccccccccccccccclllcclllclloolllclolllollllooooooooooooooooooooolllllccc::::::::::;;;;;;;;,,,,,,,,,,,,''''''''.....................................................................................'..''''',,,,'.'',;;;,'''.'',;;;:;
...';;;,'.... ...................................'''..''''..''''.'''''''',,,,,,,',,,,,,,,,,;,,,,;;;;;;;;;;;:::;;;:::::::::::::::c:ccccccccccccccllccccccllcclllcllllllllllllllllllooooooooooooooooooooooooddooooolllllllcccccccccc:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,;;,;;;;,,,,,;,,,,,;;,;;;;;;,,,,,;;;;;;;;;,;;;;,;;;;;;;;;;;;;;;;;:;;;,..,:cc:::::;;:::;:;;
...'',,,'.. .. .....................................'.....'...''''..''''''''',,,'',,,,,'',;,,,,;,,;;,,,;;;;,;;:::;;;;;::::c:::;:::::::cc:cccccccccllllccccccllccclcllllolcllllllllllloooolooooooooooooooooooooooooooooooooooooooooooooloolllllllllllllllcccccccccccccccccccccccccc:cccccccccccc::::ccc::::::cc:cc::::::::::ccc::::;;:::::;:::ccc::cccccc:c::cllc:codddlccccllc:
..',,'.... .. ...............................................'''''''''''''''''''''',,,,,,,,,,,,,,;;;;,;;;,;;;,;;:::::;;;::::::;::::::::cccc::::cccccccccccclllccllcllclllclllllclolllooooolooloooooloooooooooooooooooooooooooooooooooloooooooooooooooooooooooooloooooolooooooooooooooollooooooooooollllccllclllllolllllclllllcccccccclllllolloooooooooollloodxd:.,oxxxdollcclll
....''..... .... .... .....................................''..''....''''..''''','''''',,,,,,,,,,;;,,,;;;;;;;;;;;;::::;;;;:;;::c::::::::::cccc::::ccccccccllcccllcclcllllllllccllccllllllloooolllooooooolclooooooooollooooollooooololloloooooooolooooodooooooooooolooolooooooooooooodooooooddooollllllloooooooloooooooooooooooooooooolllooolllooolooooooooollcclolc,':lllooocc:ccc
...''''... .... ... .............................'........''''....''..'''''''''',,'',,,,,;,',,,,,,,;;;;;;;;;;;;::;;;;;;;;;;::::::::::::cccc:::c::c:cccclccllllcccllccllllllccclllllllloooolllolooooolllllooooooooooololllollooloooooooooooooooooooooooolooooooooooooooloooooooooooolllllllllclllllooooooooooooooooooooooooooooooolloollllllllllllloollolllllllloooooo;'cooc:::
.....''.. . .... ..............................................''''..'''''''''',,,,,,,,,,;;,,;,,;;;:;;;::::;;;;;;;;;:::;;:::;:;;;;::::cccc:::::ccccclllcccllcclllcclllclllllllllloolllllllllllllllooooolloooooolllllollloooooolllooollooooooloooolloooloooolollolooooolllllllcclllllloooooolloooooooooolloollllloooooolllooolllccoolllllllllllclolllllollooodl,.;oxddddo
...'''. .... ....................................''...'''..'''''''''.'',,,,,,',,,,,,;,,,,,,;;;;;;;;;;:;;;;::::::::;;:;::::::;;::c:::::::cccccccccccccccccclccclllccclllllllllllllllllllollllloolllloollooolllllllooloolloololloloooollooooolllollolllllllllccclccllllllooodoooooolloollooddoooolllloooloooooooollllllllolllllllllllllllloollcclcllcllolc,.'cdddddd
....... ...... ..... .......................................''.'''.',,'',,',,',,,'',,;;;;,,,,;;,,;;;;;;;::;;::;;;::;;;;:::::::::::c::::::::cccccccc:clccccclllcllllccllllcllllllclllllllollllllllllollolllllllllllloolooollloollooloooolooooolllllllc:;:ccccccclllooooollollloooloolllollolooooolcllooooolloolooollllllllodlccclc:collclllllllclllllccccc;...;lddddx