............................... ....... ........ ....... . ............',;;;,;;;,,;;,,;;;;;,'''.',','''''.''''''''..''....''.''''''''''',,,;;;;;::::c;::::::::ccc::ccllccccclccllcccccc::;;,',,,'''',,;;;;;;;;;:::::::::::::::::::::::ccccccc:ccccclccclclclccllllllcllllllclllllllolollllolllllloollollclloolllllcccllcccccccccccccccclcclclcllllllollllooooooooooooooooooooooololollllllllllllcccllcccccccccccc::::::::::::ccccc:ccc::;:::::cccc::;::;;::;;,,,,,,'',,,,,,,,;;;;;:::;:::;:;;
....................................... ........ ........ . . ..........',;;,,;;;,,;;,,;;;;;,'''.',','''''.''',''''..'........''''''''',',,,;;;;;::;;:::::::cc::cc:ccllcccccllcclllccccc:::;,,,,'''',;;;;;;;;;;::::::::::::::::::::::c:ccccccccccccclccclclclcllllllllllllllllllllllolollllllllllloollolllllloollllllcllllllcccccccccccclcclclclllllllllllooooooooooooooooooooooolololllllllllllllllllllcccccccccccc::::::::::cccc::ccc::;c::::::c::;;;;;;;;;,,,,''''',,,;;,;;;;;:::::::::;:;;
...................................... ........ ........ . . ..........',;;,,;;;,,;,,,;;;;,,'''.',','.'''..'',''''..'........''','''.,,,,,,;;:;:::;::c:::::ccccccccclccccccclccllllcccccc::;;,''',,;;;;;;;;::;::::::::::::::c::cc:ccc:ccccccclccccclllclclcllllllllllllllllllollllloooolllllllllloolloollllllllllllllllllllc:cccccccccclcclclllllllloloooooooooooooooooooooooooolololllllllllllllllllllllccclccccccc:c::::::::cc::::cc:c:c::::::::;;,,,,;,,,,,,'''''',;;::;:;::::::::::;:;:;;
...... ....................... ...... ........ ........ ............',;;,,;;;,,;,,,;;;;,,'''.',','''''..'',''''..'........''',','.'',,,,,,;;::::::cc:::ccccccccccclllllcccllllllllccccc:::;,,,,,,,,;;:::::;::::::::::::::c::ccccclcccccccclccllclllclclcllllllllllllllllllollollolooollllolllloolloollllllllollllllcccccc:::cccccccclcllllllooooooooooooooooooooooooooooooooolololllllllllllllllllllllccclcccllccccc::::::::::::ccc:c:c:::::::;,,'',,;;,,,,'',,;;;;:;::;:;::::::::::;:;:;;
............................... ..... ........ ........ ... .........';;,,;,;;,,;;,,;;;;,'''''',,'''''''''',''.''.........'.'',,,'.',',',',;;:::::c::::ccccccccccccllcccllclllllllccccccc:::;,,;,,,,;;:::::;::::;:::::::::cccccccclccccccccclllllllllllllllllllllllllllllllllollloooollllllllloooololololllolllllccccccccccccccccccccllcllllloooooooooooooooooooooooooooooooooooolllllllllllllllllllllllcllllccccccccccc:::::::::ccc:::::;;;;;;;,'''',;;;,,,,;;;;::::::::::;:::::::::;;,;,,
............................. ....... ................ .... .........';;,,,;;;,,;,,,;;;;,','''',,'''''''''','''''.........'''',,,,'',',',,,;;;;;;;:;::ccccc:::::cllllccccllllllllllcccccc:::;;,,,,,;;::::::::::;:::::::::ccccccccclccccccclccclllcclllllllllllllllllllllllllllllllollllllllolllloooololololollllllllllllllcccccccccccllcllolooooooooooooooloooooooooooooooooooooolllllllllllllllllollllllllccclllccccccccc:::::::c:c:::;;,,,,,,,,'''',,,;;;;;::c:::::::::::::::::;;::;;,;,,
............... ........ ............ ................ .... .........,;;;,,;;,,,,,,;;;;;,'''''''''.'''''''''''............'''',,,,,,,,,,,,,;,,;;;;::ccccccc:::::cllllcccclcllllccllcccccc::::;,,,;;:;::::::;:::::::::ccccccccccccclcccllllllllllllllllllllllloolllllllllllllllolllllllloollolllloooolololoooolloollllllolllcccccccccclllllolooooooooooooooloooooooooooooooooooooollllllcclllllllllollllllllllcccclllllcccccc:::::::c:;;,,,,'',,,,''',,;;;:::::::::::::::::::::::::;;:;;,;,,
...................................... ..... . ......... .... .........,;;;,,;;,,,,,';;;;,,'''''''''.''''..'''''''..........'.''''''',,;,;,;,:;,,;;:::cccccc:::::ccllllcccclcccccccclccccc:::::;,,,;;::::::;;::::::cc:cccccccccccccclcclllllllllllllllllllllllllllllllllllllllllllllllllloolllllooollololdooooooooooooooolllllccccccccclllllolooddooooooooooloooooooodooooooooolloolllllllcllcllllllllllllllllllccclccccccccccc:::::;:;,,,'','',,,,,',;;::::::::::::c:::::::::::::;;;;;;:;;,'
. .... .... ... ........... .. ....... ...... ..... . . .... .........,;,;;,;;,,,;,,;;;;,''''''''''.'''''''''''''............'''''''',;;;;;;;,;,:,::c::::cc:cc::::ccccc:cllcccccccllcccc:::::::;,,;:;;;;::::::::::ccccccccccccccccclcclllllllllllolllllllllllllllllllllllllllllllllllllllllllooollllolloooooooloooolollllllclcccccccccllllllloooooooooooooooloooooooooooodooooooollllllccccclclllollllllllllllllllcclccccllcccc:::;;;,,','',',,,,,,;;::::::cc::::::c::::::::;:;;:;;:;;::;;,'
. ... .... ... ....................... ...... ..... . . .... .........,;,;;,;;,,,;,,;;;;,''''''''''..'''..'''''.'..............''',,',;;;;;;;,,,;;:cc:::::c:lc:::::cccc:cllccccccccclllc:::::::;;,;:;;;;::::::::c:cccccccccccccccclllllllllllllloolllllllllllllllllllllllllllllllllllloooooolooolllllllloooooolloollollllllllcccclcccclllllllooooooooooooooooooooooodoooodoooooooolllllccccccclllolllllllllllllllllclccccccccccc::;;;,''''',',,;;;;c::::::::c::::::c::::::::;:;;;;;:;;::;;,'
. ........ ... .......... ... ....... ...... . ... . .... .........,;,;;,;;,,,;,,;;;;,''''''''''.''''..',''..'..............'',,,',,,,,,,;,,;,;;c:;;:::cclc:c:;:cclcccllc:cccccclllccc::::::;;;;;;;:;:;;;:::cccccccccccccccllllllllllloolllllllllllllllllllllllllcllllllllllllllolooooooolooollllllllllooooooooolooloollllclccl:clllllllllooooooooooooooodooooooodoooodooodddooollllccccccclccllllllllllllllllllclcccccccccccc:::;,,''''',,;;:::c;::::::cc:::::::::::::::;::;:;;:;:::;;,'
........ ... .......... ... ....... ...... . . . . ... .........,;,;;;;;,,,;,,,;;;,''''''''''.'''..'''''.................',,,,,,,,'',;,;,:;;;:;,,:::cclcclc::cclcccllcccccccllccccc:::c:;;;;;;;;;;:::::::ccc:ccccccccccclllllllllloooollllllllllllllllllcclllccllllllolllllllolloooooolooollllcllllloooolloolloolooolclllcclcccllllllllooooooooooooooodoodoooddooodddodddddoooollcclccccccclclllllllllllccllcclcccccccccccc::::;;,,,,,;;;:::::::cc::::c::cc:::::::::::;:;;:;;:;::::;,'
.... ...... ... . . .......... .... .. . . .. ..............;;,,;,;,,;;,,,,;;,''''''''''''''''..'''''...............''',,,,',,',;,,;;:;;;;;,,;;::c::cccccccclccccc:::ccccccccccc:;c:;;;;;;;;;;;;:::::ccccccccccccllllllllllllloolllllllllllllllllllllllllllllllllllllllllllloooolloollllllllllllooooooolllllooooolllllclcccccccclllllooooollllooooddddoodddddddddddddddddooollllcclclcccccccclllllllllllcclcccccccccccc:cc;;;;,,;:;::::::::::cc:::c::::::;::::;;;;;;:;:;:::::;;;,'
.... ...... ... . . .......... .... . . .. .. ..............;;,,;,;;,;;,,,;;;,'''.''''''.''''...''''''...........'..'''''',,,,,,;,,;;;;;;;;,,;;;:c:::ccccccclcccccc:::ccccc::ccc:::::;;;;;;;;;;;:::::cccccccccccclllllllllollllllllllllllllllllllcllllllllllccllllllllllllllooooooooolllllllllllooooooollllllloooollllllccccccccccllloooooolllllooooddddddddddddddddddddoodoooollllcllcccclllllllllllllllllccccccc::cccccc::;;;,;;::::::::::ccc:::::::::::::;;;;;;;;:;:;::::::;;'.
.... ...... ... . . ......... . . . .. .. .... ........',;,,;,;;,;;,,,;;;,'''.''','''''''..''''''''..........'...'','',,,,,,;,,;;;;;;;,,,;;;::;;;:clllcclcllll::::::ccc::::c:::::::;;;;;;;;;:::::cccccccccccclclllllllolllllllllllllllllllllccllllllllllcccllllllllooooooooooooollllllcllllllooooooollollllloolllllcccccccccccllloooooollccllolooddoooddddodddddddddoodoooollllcllcclcccccclllllllllllllllccc:c:ccccc:::;;;;;;:::::::::cccc::::::::;::;;;;;;::;;:;:;::;:::;,'.
.... ...... ... . . ......... .. . . ... .........',,,,;,;,,;;,,,,;;,''''''',,'.''''..'''''.''.............'..''',',,'',,,;;;,,,;,,,;;;;:;;;:cclccclcllclc::;:::cc::::::::::::;;;;;;;;;:::::ccccccccccccclllllllllllllllllllllllllllllcclcclllcccllccllllllllooooooooooooolloolllcccccllloolooollllllolloolllccccccccccclllloooooolllllllclloooooddddoodddddddddodoloollllcllcclccccccccllclllllllllllcc:c:::ccc:c:;;;;;::::ccccc:cccc::::::::::;;;;;;:::;;:;:;::;;::;,..
... ....... ................ .... . . .. .... .......',;,,;;;,,,,,,,,;;,''''''',,'.'''.'''',''................''''',''''''',,,,,;;,,;,,;;:;:,;;;:cc:lcclllcllc:;:::::::::::::::::;;;;;;;;;::::ccccccccccclllllllllllllcllllcllllllllllllclllccclcccclcclllllllllooooooooooooolllllcccccccclloolloollllllllooollllcclccc:ccccllllloolllllllllllllllloooooooddddddddooddoooollllllccccccccccccllccclllllllcccc::c:::cc:::;;;:::::ccccc::cccc::::::::;;;;;::;;:;;;;;;;:,;:;,'..
... ..... .. ............. ... .. .. . .... .......',,,,;;;,,,,,,,;;;,'''.''''''.'''.'''',''.............'...'''''.'''..',',,;;,,;,,,;;;;;,;;:::::cccccccllc::::::;:cc::::::cc::;;;;;;;;::::ccccccccccllllllllllllclcllllllllllllllllllllllccccccclllllllllllooooooooooooolllcccccccccccllollloollolccclloolllllllcccccccclllllllolllllllllllllllllloooooooooooooooooooollllllccccccccccccccllllccllllllcccc::::cccc:;,;::::::::::c:::::::;:::;;;::::::;;;;;;;;;;:;;;;'...
...... ..... .. ......... ... ... . . ... .........';;,;;,;,,,,,,,;;,,''''''''''..''..'.',''''................''''''''''.',,,,,,,,,,;,;;:;,,;:::::::c::cclccc:::::::cc::::;:cc::;;;;;;;:::::ccccccccccccccllllllccllclllolllllllllccccccccccccccclcccclllllllooooooooolllllcccccccccclllllolloooooolccccllolllllcccccccccccclllllolooolloollllllllcllllloooooooooooolloollllllllccccclcccccccccccclllllcccccc::::ccc:;;;;:::cc:::::::::::::;;;:::;::::::;;;;;;;;;;;;;,'...
............. .. ........ .. .. . . ... .........';;,,;;,,,,,'',;,,,'..,.'''''..''....','....................'''..''..',,,,;;;,,',;,;;:;;,,::;;:cc:;::ccccclllc:::::cc::;::::;;,;;,;;:::::ccccc:ccccccclllcclllcllclllllllllllcccclcccccccccccccccccllllllloooolooolllllccccccccccclllllllloooooollcccccllloollccccccccccclllllolooooooolloolllllllllllollloolllollloollllllllcccccllcccccccccccclllccccccc:::::c:::;;;::::::::::::::::::;;;:::;:::;;;;;;;;,;;;,;;,'....
.. ....... .. .. .. ... . . .... . . .... ........,;;,,;;,,,,,',,,,,,'.''''''''..''...'''''.'..................''.......''',;;;,,,,',;:::;,,;::::cc:;;:cccclllcc:cccccc::::::;;;,;;;;;::::cccccccccc:ccllcccclllllllllllllllllcccccccccccccccccccccccllllllolololollllcccccccccccccccllllllllllooollllcc:cclllllccccccccccclllllolooooooooooooloooollllllllllllllllllllllollllcclccccccccccccclllccclccccccccc::;c:::;;;;:::::::::::::::;:;;;:::::;;:;;;,;;;,,,,';,'...
.. ....... .. .. .. ... . . .... . .... .......',;;,,;;,,,,,',,,,,,''''''''''..''...'''.'.'.................''....'...''''''',,,,'',;;:;,,;;;;::cc:;;:l::cccccclcc:::::::::;;;,,,;;;::::cccc:cccccccccclccccllllllllllllllcccccccccccccccccccccccccllllllllllllllllccccccccccccccclllllllllloooloollcccccllllcccccccccccclllllolooooooooooooloololllllllllllllllllcccllllllllclccccccccccccccclccclcccc:cccc:::::cc:;;;::::::::::;;::;;;;;;:::::;;;;;;;;;;,,,,''...
............. .. .. .. ... . . .... . . . ... . .......',;,,,,;,,,,,',,;,,,''''''''''..''...'''''.'.................'''.......'''..'',;','',,,;;;,,;;;::::;;;cl:::cccc:lcc:::::::::;;,,,,,;;:::::cccccc::ccccccllcccllllllllllllccccccc:ccccccccccccccccccclllllclclcllccccccccccccccccllclllllllllooolllllllccccllllcccccccc:ccccllllolooooooooooooooooooooooolllllllllllccccccclllcclccccccccccccccccccclccccccccc::::::::;;;::;;;;::::;::::;;;;;;::::;;;;;;;;;;,,,''...
............ . .. .. ... . . .... . .. . . ... . .......',;,,,,;,,,,,'',;,,'''''''''''..''...'''''.'.................''''''...','''''.',',,,,,,;:;;,,;:::;;,;::::ccllcc:::::ccc:::::;;,,,,,;;:::::cccccc:::::ccccclllllcllllllllcccccccc:ccccccccccccccccclcllllcclclclcccccccccccccccccllllllllllooooollllllllllllccclllcccccccccclllloooooooooooooooooooooooodooooolllllllcccc:cccccclccccccclcccccccccccclccclcc:ccc:::;:::;;;;;;;;;;;;;:::;;,;;;;::;:;;;;;;,;;;,,,'...
... ....... . . ..... . ... . .. . ... ..',;,,;;;,,,;,,,,;;,''''''''''...''..'''''''..................''.'''.''''.'''..',',,;,',,,;;,,;::;;;;,;;:c:cll::lc:;:cc::::;:;:,',,,;;;::cccccc::::::ccccccclllccccccccccccccc:cc:cc:::cc::::cccccccccccccccccccccccc:::ccccllllllllllllllllllllloollllllclllccllclcc:ccccllllooooooooooooooooooooooooooooooooooolloolllllllllllccccccccccccccccclcccccclcccc::cc::::::;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;,;;,;,'''...
... ...... . . ..... . . . .. ..... ..',;,,;;;,,,,,,,,;;,'''''''''''..''...'''''................'..'...''.''''..''.'''.',;,''',;:;,;::;;;;,;;clcllc::clccclccc:c:c;:,;,,,;;;:::cccc:::::::cccccccccccccccccccccccc::::::::::::cccccccccccccccccccccccc:cccccclcclllllllllllllllllllooooolllooollllllllcclccllllllloooooooooooooooooooooolooooooooooooooooooooooooooollllllllccccccc:::cccccccccccccccc:::::;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;,,;,;,'....
.. ..... .. .. ..... . . . .. .... ..,,;,,;;;,,,,,,,;;;,''''..'''''..''...''''.................'..'''....''''''....''.'',,.''';::;;;;;;;;;;:lcccc:;:clcclllllclcc;:;:,,,,;::::ccc::::;::ccccccccccccccccccc::ccc::::::::::::;ccccccccccccc:::ccccccccccccllllcclllllllccllllllllllllollllllllllllllllllolloooooooooodoooooooooooooooooooooooooooooooooooooooooodddooooooooolllllcccc:::cccccccccccc::::::;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,,'...
... ..... .. ........ ... . .. .... ..,,;,,;;;,,,,,,,;;;,,'''..'''''..''...'''........'.........,'.'.'..'.''''''.....'.''''.'''',;::;,;;;::;:cccc:;:clolllllllllcc::::;,,,;::::ccc::::;:ccccccccccccc:ccccc:::ccc:::::;:::::::::c::::c::ccccccccccllllllllllllcclllllllllllloooooooooooooooooooooooooooooooododddoooooooooooddoodddooodddddddddddddddoddooooooooooooddooooddooooollllcccc::cccccccccccc:::;;;;,;;;;;;;;;;;;;;;;;;;;,;;;;;;;,,,''... .
...... .. .. .......... . . .. ... .... ..',,,,;;,;,,,,,,;:;,''''.'''''...'''..'''''...'..'..........'..',''..''''.'....'''..''..'''',,;;,;;;:::::::::::clooolcllllllccc:::;,,;::c:cc::;;:::cccccc:cc:ccc:ccccc::::::::::::::::::c;:cc::::cccclllllllllllllllllllclllloooooooooooooooooooooooooooodoooooooooddooooddoodddodddddddxdddddddxdddxxxxdxxxxxdddxdddddoooooooooooooooooodoooooololllccccccccccccc::::;;;;;;;;;;;;;;;;;;;;;,,,,,,;,,,;,''.... ...
... .. .. ...... . . . ... .... ..,,,,,;;,,,,;,,,;;;,,'''..''''..'''..'''''....'''..............'','..''''..'..''''.......,',,',,,,,,;::;;::cccllclooolllocllllc:::;,,;::c:c:::;;;::cc:::c:::::cc:ccc::::::::::::::::::;::::ccllllllooollolloooooolllloooloooooooodddddddddddddddxddddddddxddddddodddddddxdddddxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxxxdddxddddddooooooooooooooooooooooollllccccccc:::::;;;,,;;;;;,,,,,,;;;;;;,;,,,;,,,,'.... ....'
. . . .. ..... ..,,,,;;;;,,,;,,,;;;,,'''''',''..''...'''''...''''................''..','..''''''.''......,',,'',,,,,,;;::;:ccllllcclloollllllllccc:;;;;:c:c:;;;;:::cc::::::::::::cc::::::::::;;;;;;:::cclllllooooooooooooooooooooloooooooooddddddxxxxxxxxxxxxxxxxxxxkkxxxkxxxxxxxdxxxxxxxkkxxxxxxxxxxxxxxxxxxxxxkxxxxxkkkxxxxxxxxxxxxxxxddddddddddddddoooooooooooooooooooolllccllcc::::;;;;;;;;,,,,,,,,,,,,,,,,,';,'''.... .......''
... . . . ..... ..,,,,;;;;,,;;,,;:;;;,'''''''''..''...'''''...''''....................''''.'''''''..''....'',,'.,;,,,'',::;cllllllllloooooolllllccc::;;;:::::;;;;:::::::::::::::::c:::::::;;;;;;::cclllloooooooooooooooooooooooooolooooodddddddddxxxxxxxxxxkOOkkkkkkkkkkkkkkkkkkkkkkkOkkkkkkkkkxxkkxxxxkxxxxkxxxxkxxxxkkkkkkkxxxkxxxxxxxxdxxddddddddddddddddooooooooooooooooolllllccccc::;;;;;;;,,;;,,,,,,,,,',,'','''.... ......'''..',
.. . ... . . .. .. ....... .',,,,,;;;,,;,,,;::;,,,''''''''..'....''''....''''.....................'''''..''''.''''....''''',,,,,'.';c;:cccllllloooooooollllllcc::;:::::;;;;;;::::;;:::::::c:::::;,,,;;;::cclollooooddddoooooooooooooooooooooooodoodddddddddxxxxkkkkkkxkkOkkkkkkkkkkkkkkkkkkkkOkOOOkkkkkkkkkxxkxxxxxxxxxxxxxxxxxxxxxxxkkxxxxxxxxxxxxxdxddddddddddddddddddooooodoooooddoooooooollllcc::c;;'',,,,,,,,,,','',,'''''.... ........''''.';:
.. ... . . .. ...... .',,,,,;;;,;;,,;;::;,,,,''''''...''...'''.'...''''...'...............'','.'''''''..''''......',,,'',,'',;:::::ccllloooooodoolllllocc::::::::;,,;;:;:;;;;::::::::;;,,,,,;:cccllloooooddddddddooooooooooooodooooooododddddddddddxxxxxxkkkkkkkkkkkkkkkkkkkkkkkkkkxxkkkkkkkkkkkkkkxxxdxdddddxdddddxxxxxxxxxxxxkxkkkkxxxxxxkxxxkxxxxxxxddddddoddddoooooooooooooooddooooooollllcl::;,,',,,'',,''''''''........ ...'''..'''';;::
.. ... . . .. . ..... .',,,,,;;;,;;,,;:::;;,,,,''''''..''...'''.'....'''...................'''...''''''..''...'..'''',''''''';:::::::clollloooooooollllllcc::::;:;;,;;;;;;::::::;;;;;,,';;:cclloooooooododddddoodddoooooooooooooooooooododddddddddddxxxkxxkkxkkkkkkkkkkxkkkkkkkxxxxxxxxxxxxxxxxxxxxxxdddxdddxxddxdddxxxxxxxxxxxxkkkkkkkxkkkkkkxxkxxxxxxxxdddddddddddddddooooooooooooooooooooollllclc::;;''...''...................''''..,'',;:::
.. ... . . .. .... .... .',;,,,;;;,;;,,;:::;;;;,,''',''..'....''''....'..'...................'...,.''''''..'...''.',,'.'''',,,;cllc::;;;:clllllllloooollllllcccc:;;;;;;;;;;;;;;;,,,,'',:ccllloooododddoodddddddddddodddoooooooooooooooooodddddxxxxxxxxxxkkxkkkkkkOOkkkOkkkkkkkkkxxkxxxxkxdxdddddddddddddddxxxxxxxdxxxxxxxxxxxxxxxxkkkkkkkxkkkkkkxxkxxxxxxxxxxxxxxxddddddddddooooodoooooloolooooollllolllcc:;,............ ......''',,,'',,,,,,,;,,
.. . . .. .,,,,,;;;,,;;,,;::::;,,,,'',,''''.'....''......''.'...'...................................,,,'.',,.,;;;:llc:;,,;::cccclllllllllllllllccc;;,;,;;,;;,,,,''',;;:clllloooddoooooooooooddoooooooodddoooooooooooooddddddxxxxxxxxxxxxxkkkkkkkkkkkOOOOOOOOkOOkkOkxOkkkxxxdxxddddddddddddxxdxxxkxxxxdddxxxdxxxxkxxkkkkkxxxxxxkkxxxkxxxxxxxxxxxxxddddxxddddxdddddoooooooooooloooooooloolcllllcc:;'.... ...',,;;;,,,,;,;,,,,,,,''''
. . . . .. .,,,,,;;;,,;;,,;:c::;;,,,,',,''''''...'''......''.'...'...........................'.......',,'''',',;;::cc;;,,,;;;:::ccccc:ccccccccclccc:;,;,,,''''''',;:cllloooodooodddooodddddooooooooddooooooooooooooododdddxxxxxxxxkkxkkkkkkkkkkkOOOOOkOOOOOOOOOOOOOOkOkkkkkxxxxxdddddooddddddxxxxxxkxxxddxxddxxxxxxxxxxxxxxxxdxxxxxxxdxxxddxxxdxxddddddxxddxxddddddddddddooooooooooooloollllclcc::;,,'''',,;:ccccc::::::;:;;;,,,,,,,,
. ... .. .... .,,,,,;;;,,;;,,;:c::;;;,,,,,,''''''...'''......''.'........................................'''...',;:::::;,,,;::;;;;:ccccc:cc:cc::::c:cl::,,....''',;cllllooooooodoooddddooooodddoooooooddooolllooooooddxxddddxxxxxxxxxkkkkkkkkkkkkkkkOOOkOOOO0OOO0OOOOOOOOkkkkkkxxxxdddddddddddddxddxkkkkddddddddddddxddxddddddddodddddddoddddddxdddddddddddxxdxxddxxxxxxddxdddddddddooodooolllc:;;;;;::clllloooooolllllllll:c:::;;;;;;;,
... ... ..... .,,,,,;;;,,;;;,;:c:::;;;;,,,,,'''''...'''......''.'..'......................................'....',;;;;:;,,;;;;;;,;;::::clcccc:cc::::;:c:c',...';:ccclloooooooooodoooddoooooddddddddooooooooooloooddddddxxddddxxxxxxxxxxxxxxkkkkkkkkkkOOkkkkkkOOkkOkkkkkkOkkkkkkxdxxddddooooddddddddddxxkxdddooooooooddoodooooooooooooooddddddddddddxxxxxxdddxdddxddxxxxxxxxxxxxddxxddddddooolc:::,;;;:cloooodxddddddoddddoooloc:::;;;;;;;
.... . . .. .... .,,,,,;;;,,;;;,::cc:;;;;;;,;;,''''''..''''.''..'''...'...'..........................'............,',;;;,,';;;,,;;:;;;:::cl:llc:clclcc:::::;,,,;:clllooooooooooooddoooooodoodddoodooooooooolooooddddddddddddddxxxxxxxxxxxxkxkkkkkkkkxxkkkkkxkxxkkkxxkkkxxkkkkkkkkxdxddddooolooooddddddddxkkooolooooooloooolllllloooloodddddxddddddxxxxxxkkkxxxxxxxxxddxxxxxxxxxxxxxkxxxxxdxxddcc;;;;;:clloddxxxxxdddddddxddxdddooc:c:;;;;;;
.. . .. .... ..,,,,,;;;,,;;;,;:c::;;;;;;;;;,''''''..''''..'..'''...'...........................................'.,,;,',''',,;;;;::::;;:::llcclooloolcc:;:::cllloloooooooooooddddddddddddooooooooooooooooooddooddddddddddoddxxxxxxxxxxxkkxkkkkkkkkxxxkkxxxxxdxxdddxxxxxddxxddddddddoooolllllllllloddddddddollllooolllllllllllooooodddddddxxxxxxxxxxkkkkxxkkxxxkxxkkxxxxxddxxxxkxxkxxxkkxxdlc;;,;::coddxxxxkkxddddxddxxxxdxdddddlcc::;;;;;
. ... .... ..,,,,,;;;,,;:;;;cc::;;;;;;;;;,'',,''.''''.'....'''..''.......''...........................''.....'.',,,''..',,,,,,;::::cclcllllllooodoolc:cccccllolooooooddoooooooddddddoolooooooooooodddooddddddddxxxxxxxddxxxxxkxxkkkxkkkkkkkkkkkkxxxxxxxxxxxxdddddddddodddoooooooooooolooooolllloooddddollllllolllllllllllooooodddddxxxxxxkkkxxkkkkkkkkkkkkkkkkkkxxxxxdxddxxxxxkxxxxxooc:;;,::loodxxkOOkkkxxxxxxxxxxxxxxdddddolcc:;;::;
. . ... .... ..;,,,,;;;,,;:,;;cc::;;;;;,;;;,',,,'''''''.'....''...''.......''....................................,,,'....'''',;:clllcllllllloolloooooollccclccloooooooodoooodddddddoooooloooooooooooddddddddddxxxxxxxxxxxkkkxxkkxxkkkkkkkkkkkkkkkxxxkkxxkxxxxxdddddddddodddoooooooooooooddodddoooolloddxolloolooloooloooooodddxxxxxxkkxxkkkkkkkkOkkkkkkOkOOkkxkkxkkkxxxxxxddxxxxxddlll:c::;ccllddxkkkOOOkkkkOkkkkkxxxxxdxxxddddool:;;;;;
. . .. . .... .';,,,,;;;,,;;,,:cc::;;;;;,;;;,,,,,,'''','...........'.....'..''....''.....'....'..................''.......'''';cccllclloollllooololllllllclllllllooooooododddooooddooloooooodddoooodddddddxxxxxxxxxxxxkkkkkkkkkkkxkkkkkOOkkkkkkkkkxkkkkkxkxxxxxxxxxxddddoddddooooooooooooooodddddddollloodolllllllloodddddxxxxxkOkkkkkkkxkkkOOkkkOkkkkkOOOkkkkkkkkxkxkxkxkxxxddooc:::;:c:lloodddxkkOOOOOOOkkO00OkOOOOOkxxdxxxddddolc:;;;:
. . .. . . .. .';,,,,;;;,;;;,,:cc::;;;;;;;;;,,,,,,,'''''.....''.......'.....''..'..'............................''.....',.''',:clcccclooollloooolllcllllccllllllloooddoodooodldodooododddooodddddddddddxdxxxxxxkkkkkkkkkOkkkkkkkOOOOOOOkkOOOOOOkkkkkkkkOkkkkkkkkxkxxxxxxdddddddddddooooooooooooooddoollooolllllloodddxxxxxxkkkkkkkkkxxxxxkkkkkkkkkkkkkkkkOkkkkkkkkxkxkxxdxddollc::::cclddddxxxxxkkOOOOOOOOOOO00OOkOO00Okkxxxxxddoolc:;,;:
. . .. . . . .',,,,,;;;,;;;,,:cc::;;;;;;::;,,,,,,,''''''....'''......'.....''..'...''..........................'......',,,,,,;cc;;:clllcllllllllcc:cc::;ccccllllllloooooollcoloooooodododdddddxxddxxxxxxxxxxxkkkkkkkkkkkkOOOOOO0OOOOOOOkOOOOOOOkOkOOOOOOOOOOOOkkkkkkkkkxxxxxdddxxddddddodooooooooooddddddoooooodddxxxxxxxxxxxxxxxxxddxxxxxxxxxxxxkkkkkkkkkkkkkkkkxkxxddlllccccccloododxdxxkkkxkOkkOOOkOOOOOOOOkkkkkkOOO0xxxxxdddollc;;;;
.. . .. . . ...',,,,;;;;,,;;,;:c:::;;;;;;::;,,,;;,,,''''''...''''..'.....'..''...'..'..............................''..',;::;;:::::cc:;:lllollclo::;;::;,cc:::cccc:::::::;;,:codddodlololloooodddxxxxkxxxkkkkkkkkkkkOOOkkkOOOOOOOOOOOOOOOOOOO000O0O0K000OO00O00OOOOOOOkkkkkxxxxxxxxdddddoddoooooooolloooollooooooloooodddddodddddddddddddddddddddddddxxxxxxxxxxxxddoclclllllooddxkkxxxxkxkkkOOOOOkkO00OO0K0OOOkkxxxdxOOO0Okkxxxxxdolc:;;;
. . . . .. .. ..',;,,;;;,,;;;,;:c:c:;;;;;;;:;;;;;,,,',;,,'''.''''...................''...................... ..'....'''.';:;:::::;:;;;:::cllllcccc:::::::;::;;:::::;,,;,;;;,',:llllooooddodddooooooodxxxkkkkkkkkkkOkkkkOOOOOOOOOOOOOkOO000OO00000K0000000O00000OOOOOOOkkkkOkxxxxxxdddddddoddddddooooooollooolllooloooooooodoooooooooloooooooooooodoooddoodooodddoolccllloooodddxxxkOOkkkkkkOO000000000KK000OOOOOxdxxxkO00OOkkxxxxxddolc::;
. . .. ..';;,',;;;;;;;,;:c:c;;;;;;;;;;;;;;;,,',;,,'''''''....'...............'...............................','..';;;:;;;;;;;:::clclllcccc:::::::::::::::::;,,,,;::;,,,,:ccclodxxxxxxxddddooolooxxkkOOOOkkkkkOOOOkOOOOOOOOOOOO000000KKK00K00KKKK0O00000000OOOOOOOkkkxxxxxxxxxdddddddddddddooooooooooollooooooooooodoooooooooloololoooolllolloddddddddooolcllloooooddxxkkOOOOOOO0OOOO00000000000000OOOOOkxxxxkO000OOOkkxxxxxddolc::
. .. ..';;,',;;;;;;;,;:c:c;;;;;;;::;;;;;;,;,,;,,'''''''....''............'''....'.''....................'..','..''';:;;;,;;::::cccccccccclc::ccccccccccc:;;;;;;;;:::;,,,;:::looodxxxxxxxxxxdoooodddxkkkkkOOkOOOkkOOOOOOO0O0000000KKKKK00000KKKK000000000000000OOOkkkkkkkkxxxxxxddddddddddooooooooloooooodoooddddooooooooooolloodoooodooddkkkkkOOOOkdolloodolllodxdxkkkkOOO000KKK0KKKKK000K0OOOOOOOOkxdxkkkO00KK00OOkkkkkxxdddlc:;
. .. .';;,,;;;,,;;;,;:c::;;;;;;;::;;;;;;,;,,;,,''''''''...''............'''....'.'''... ...............'..'''...,',;,,;,,;:::cclccllllccccccllc:;::ccccc;::;;::;;:cc:;;;:;:cllllddddddddddddddoolooddddxkkxkOOOkOOOOOOO0O00000KKKKKKKKKKKKKKKKK000000000000OOOOOkkkkkkkkxxxxdddoddddddddddddooooloooooodoodddddoolloddddxxdddxxdxxddddxxkOOxxkkxddolloooollllodkxkOOOkOO0000KKKKKKKK0OOOOOkOOOOkxxdddkO000000000OOkkkkkkxxxdolc:
. . . . .. ..';;,,;;;,,;;,,;:c::;;;;;;:::;;;;;;,;;;;;,','''''''..''............''.............. . ...............''....,',,,,;,;:::ccccllllccccclllllc::::cclcc:cc:,;:lccccc:;;cccllc:cllcclooooolloloooooooddxdxxxxxkOkOOOOO0000KK0KKKKKXKKXXKKKKKKKKKK000K00O00OOOOOkkkkkkxxxkdolloolooddxxdxddddoooooloodoooooodddoodooddxxxkkxdxkxdxdoooodxdxxddooolloodooolollldxOkkOOOOOO00000000000OOkkOkOkkkkxdoodxk0KKKK0000000OOOOOkOOkkxdoc:
. . .. ..',;,,,;;,,;;,,;:c::;;;;;;:;;;;;;;;,;;;;;,',,'''''...'.............'......................'.........''..',,,',,,,;;ccc:ccllccc::ccccclllc:;c:::cccc:ll:;;clllllcccc::clllldolccloooddoddxddxxxdxxxdxxxddddxkkOO0O00KKKKKKKKKKKKKXKKXKKKKKKKKK00KK00OOOOOOkkkkxxxxxxxdlccllocloddddddddddddddooddoooooooooooddddddxxdddddxdodlllolllolcc:;:lllddxdolllllldxkkkO000OkO0000OOkkOkkkkxxdxxdoooldk000KKKKKKK000KK0K000OOOkkkxdlc
. . . .. ..',,,,,;;,,;;,,;:cc:;;;;;;;;:;;;;;;;;;;;;,',,,,,''.................'........'.......... ..........','..',,',',,,;::::ccccccc::::cclcccc::::c:::cccccll:::clllcccllolllooolooodddddddxxkkkkkkkkkkkkxxkkxxddoxxxkOO0K0KKK00KKXXXXXXXXKKKKKKKKK00000OOkkkxkkxxxxddddddddolclllcllooooodddddddoddoddooooollllllllloooddlooodxddollodolcc:;,;:ccloddddolllolooxkOOO000OOkO00OkkOkkxxxdoodollodkO0KKKKKKKKK00000KKKK00KOOOkxxxdlc
. . . ... ..,,,,,;;;,,;;,,;:cc;;;;;;;;::;;;;;;;;;;;;,',,,,,''.''........................'........... ......''',''',,,',',;;::;ccccccc::::::ccc::::ccccc:::cccccll::cllllccclooolloooododdxddddxxxxkkxdxkOOOOOkkkOOOkkkdddddkO000KK00KXXXXXXXXXXKKKK00KOOOOOkxxxdddddddddddddddxxdoooooooolllllllodddooollooolocccccccclllllllllllloolllccllc:;;,',;:clloddddoloododoxkOOOOOOOkOOOOkkkkxxdodddddxk0KKKXKKKKKKKKK000000KKKXKKK0OOkxxdolc
. . . . . ..,,;,,;;;,';,;,;c:c:;;;;;;;:;;;;;;;;;;;;;;,,,,,,,'.''..............................'............''',',,,,,,''',;,:;ccc:::;,;;::::cccc::cllcccccccccccc:clllllllllllooooooodddxxdddxxxxxxxxxxkOOOOO0OOkkOOOOOOkxddddddxxkk0K0KXXXKXXKKO00OOkxxxxddddooddddddxxxxxxxxdddddoodlllllllllcclcccclccclcccccccllccccccccccccccccc:c:::::;;;,',;:colooddddoodddoodkxxkkkkkkkkxxxxkkkkkOO00KXNNNXNNXXXXK000K00000O00KKXKKK0K0Oxdollc
.. . . . . ..,,;,,;;;,';;;,;c:::;;;;;;;;;;;;;;;,;;;;;;,,,,,,,'''''..........................................'..'',,,,,'''.,,,;;::::::;;;::c:cccllccccccccccclllccccclllllllllllllloooooddddddxxxdddxkkkkkOOOOO00OkkkOOOOkkOOkdooooooddxxkOOOOOOOkxkxdddddooodddxxxxxdddxxdddoooooolllllolllccllccccccllc::cccccccccccccccccccc::::ccc::ccccccccc,';:ccooodddddoooodooodxxxxxxxxxkOOO00KKKXXNNNNNNNNNNXXXKK000OO00000OOO00KK0OOKKOxdollc
. . . . . . .',,;,,;;;,':,,,;c:::;;;;;;;;;;;;;;;;;;;;;;,,,,,,,'''''.............................................',;;,,,,;'',,,,,;;;;;;;,;:clccccooollcccccccclllcllcclllllccclllloddodddodddddddxdxkkkkOOOO00OOO00OkkkkkOkkkOkxdxxdddxddddxxkkxxxxddolddxxxxkkxxdxxxdddddooolllcccccccclccccccclcclllllclcccc:::c::::::::::::c::cccccccccccccccc:'.,:cloooooooooooloooooddxxkkO0KXNNNNXXNNNNNXXXNNXKKKK00000OOOO0OOOOOOOOO0OkkxkOkxdollc
. . . . .'',;,,;;;,':,,,;c:::;;;;;;;:;,,;;;,;;;;;;;,;,,;;,'','''....................................... ....',;;,,;;,',::,,.,,,,;;;,;;:c::ccclllllc:llllllllloolllllllccllooodxddddoodddddddxdxkkkO0OOOOOOOOOOOkkkkkxkkkkkkOkxxxxkkxddxxkkkxxkxxddxxxdddxxdoooollllloc:cclcc:::::::c::cccccc::c::cc:c::cc:::::;;;::cc:::clllcccc::;;,;;;::::;;,,;cllloddooooooodddxkO0KKXXXNNNNNNNXXXXXXKK00KOkO0OO0kkOOOkkkOOOOOOOOOkkkxxdxxxdddolc
. ... .',;,,,;;,;,;;,,:::::;;;;;;;;;;,;;;;;;;::;;;,,,;;,,''''''.....'..'...................................',;,,,;;,;;;,,;,,,;;;;;;;::;;:lcclllclllloooollooolllllolllllloloddoooldoooddddddxxkkkOOO000OOOO00OkOOOOOkkkxxxxxkxxxkkxxxxkkxxkkkkxxxxdxxdlllcoccccc::c::::c::c::::::::::::cccc;;:c:;:::::::::;:ccccc:cc:ccc::::;;;'.',,:;:cl:lcllooddkxxxxxxxkxkOO00KKKKXXKKKXXXXXKKXKK0000OO0OkxkOOkxkOOkkkOOOOOOOOkOOkxxxxxxddxdlcc
.. ... .',;,,,;;,,,;;,,:c:::;;;;;;;;;;,;;;;;;;;;;;;,,,;;;,''''''.....'..'....................................',,'',;;;;;;;;;;;;;;;;;;;;;;::::ccccllllloooooooolloooolllllloloddooolooooodddodxxkOO000K00OkkO00OkkOOOOOOOkkxxxkkkkxxxxxxxxkkkkkkxxxxdxxxddollccc:;;:;;:::;::;;;::;;;::::cllcccc:::cc::ccllc:cccclooooc:;;;;c;;,,,'.';;:;clolddxkkkOOOOOOOkkkOkOOO00KK0000O0K0000000K000OOOOOOOOkkkkkxkkkkkOOOOkkkkOOOOkkkkkxxxxxdoll
.. .. .',,,,,;;,;,;;,,:c:::;;;;;;;;;;,,;;;;;;;;;;;;,,;;;,',,'''.....'..'.....................................'''',,;;::;;,;;,;;::::;;;;;;::::c::::ccloodooooolodddollllllllollllllllooddddxxxkkOOO0000OOOOkO0OOOOOkOOO00Okxxxkkkxxkxxxxxxxkkkkxkxxxxdddddxxdooc;,;;;;;;:::::::::::c:;:cccc:cc:cllclcclolccclloodooo;,col::,;,,;'.,;;::cldoxxOOOkOOkOOkkxxxkxkkkOO000OOkkOO0OOOOOO0O0KKKOO0kOOkkkkkxxkkkkOOOOkxxxkOkkkkkkxxdddddoll
. . .. .',,,,,;;,;;;;,,:c:::;;;;;;:;;;,,;;;;;;;;;;;,;;;;,,',,'''...'......'....................................''',,;;;:;;,;;,,;;;;;;:::::::cllcc:;:::lloddoooooddooolllllllllcccclcloddddddxxxxkO000OOkkkkkOOOO0OkOOkOO0OOOkxxkkkxxxxxxxxOkkxxkOkxkkxxxoodxxxdoc;;::::ccccllllllc:l:::c:coolccldolclllcccccllolc::l;,lxo:,;;;,;'.';;::cldlxxkOkkkkxxxxddddxxkxkOOOOOOOOOOOOOO00OOOO0KKOkk0xkkkxkxxdxxkkkkkxxxxxxkkkkOOkkxxxxxxxddo
. . .',,,,,;;,;,;;,,;:c::;;;;;;:;;;,,;;,;;;;:;;;;;;;;;,',,''''..............................'...............''',,;;;;;;;,,,,,,,,;:::::ccccllllc:;;::loddodooodoooolocllollllllcclldddddxdxkkkO0K00OkkkOO0OOOO0OOOOOkOOOO0OkkOkkkxkkxdddxOxxxOOOxkxxkxoododdddl:::cllodloddxxdolllcclllldooodxdlcllccdOxoclll:;;;;;:::;;;;;;;;'.';;:c:lolddxxkxxxddddoloxxxxkkkOOO0000OOOkO000OkxkO0OkxxxxxdxxxxdddxxxxddddxxxxkkkkOOOkkkkkOkkkdd
. . .',;',,;;';,;,,,:::::;;;;;;;;;;,,;;;;;;;:;;;;;;;;;,',,''''..............................'.'.............''',,;;;;::;,;;,,,;;;:::::clcccccllc::;;cododdddddoollloclloollcccccoooddddxdxOO000000OOOOOOOOkkkkOOOOOOOOOOOOOOOOOkOkkxxxxxxxxkkkkkkxdxxdoooooddolocdoolcoddxxdooddc:;clccloloxxlldclccxKOlolc:;;;:;cc:;;;;;;;;;,'';;;::cllooodxxdodooolcodkkkkkkkkkkkkkkkkxkkkkkkxxxkxxddoddddooododdddddxdxkkkOOOOOOOOOOOOO0OOOxx
. ..',,,;,;,,;,;,,;:c:::;,;;;;;;;;;;;;;;,;::;;;;;;;;;,',,,'''..........'........'..........'.'..............',,,,;;;::;,,,;;,,,;;::::cccccc:clll;,;:cloddddddoloollclloollclllcoooodddxxxOO0KKK00OOOOOOOOkxxxxxkkkOOkkkkOOOO00OOOOkxxxkkkkOOOkxkxxkxolllddoodolcooddloddodxocld:;;:c::cllllllll:cc::llllclol:;:;cc:,;;:;::;;;'',;::::llloodddoooollccldxkOkxdxxxxxxxxkkxxxxxxxdxxdooooooollloooodxxxxkkkkOOOOOOOOOOOOOO0O0O00xx
.. . .',,,;,,,,;,;,,;:c::;;;;;;;:;;;;;;;;;,;::;;;;;;;;;,,,,,'''..........'........'..........'....',,''..... ..'',,,,,;;,,,,;;,,;;;:::::c::c::cccl:,;:cloddddddolllloclldlllooooodddxxxxkkOO00KXK00OOOOkkxxkxxdddooxOOxddkOkxdxkkOkkkkkkkOkkO00OkOOOOkdlllddoooookkO00Ol::clol:;::::::;;l:ll::ll::;;;;;;:c:ldd:;;:;;;::::;::;;;,'',;::clcloddxxdlllllcclodkOkxxkOkkkkkkxxxdddddddooddoooodddddxxxkkkxxkkkkOOOO000O0000000K00000kk
. . . ..,,,,;,;,,;;;,,;:c::;;,;;,;;;;;;;;;;;,;;;;;;;;;;;;,,,,,'''.........''........'..............',;;;'..........',,,,,,,',,,,,;;;::::::::::cccccc:;,,clcodddddoolllllllolllloooodxxxkkOO0000KXXK000OOkkxxxxxdoooodxOOOkOkOkdlloxdodxkxxkOkkkkkkkxxkkxdlllooddodo0NWWWWXlcccc:;;::::c:;;c;::;;::;;;;;,,;;l::::;;::::::;;c::::::;;'',;::ccllldddddllolcclooxOOOkkkOOkkxxddxxxxxkOOkOOOkkkxkkOOOOOkOOkkkkkOkkkO0000000KKKKKXKKK0Oxx
. . . . . ..,,,';,;,,;;;,,;:c::;;,;;,;:;;;,;;;;;;;::;;;;;;;;;,,,,,'''...................'............'',;:::;,'.........''''''''',,,,;::::::::c:::cc::cc::;,;cclldxxdoodoollllclllooooodxkkOOO000KKKKKK000K00OkkkxxxxxdddxkO0KX0KK0OxdddoloddddxxxxxddodoodollllooddoolWWWWMNNc:::::::c:::::;,;;;;,,;;;;;;;,,;;:;;:;;cdoc:cl;;c:::::::;,'.',;:cccloooodlllcccloldkkkkkkkkOkOkOO00KKKKKKKKKK0000000000OOOOkkkkOOOOOO00KK00KKKKXXXKK0Okdo
. . . ..,,,';,;,';;;,,;::::;;;;;;:::;,,;;;;;,;::;;;;;;;;;,,,,,''....................'...........',;;:ccc::;;'...........''''','',:cc:::::cc:;:cc::cccc:;,:l:codxxddoooollllllllooooodxkOO000KKKKK000KKKKK000OkkkkkkkkkkkkO0O0KKX0kxxo::okkxxxxxxdddollllloooxddddo:OXNWXod;::::::::::::::;;;;,;,,,;;,,;;;;;;;::::co:oxxoccl:::::::;:,''',;:::::::::cccllloddxkkkOO0KKXKXXXXXXXNXXXKXKKKKKKKKK00K0OOOOOOOkOOOkOOOOO0OO00000KOOOkxxoc
. . . . . ..,,;';,;,';;,,,;::::;;;;;;:::;,,;;;,;,;;:;;;;;;;;;,,','''...........'....................';::ccclllclc;,'........''..'''';:cccc:::ccl:;cc:;:c:cl:,;:cclloddddooollllllllllllodkkOO0KKKKKKK00000KK000000OkkOOkOOOOOOOOOOO0Okkxxo:cdO0OOOOkkxddolllooooxxxxdl;::xcco,l:::ccc:;:::;;::;;::cc::loc:::::::;;:c::;;xOdlooc:c:::c:;;,,;;,,;c;'',;;:lloxxxkOO0000KKKKXXXXXXXNXXXXXXXKKKKK00OOOO000OOOOOOkxxkxxxkxxxkkkkkkkkxxxdddol:
... ..,;,,,,;;,,;;,,;::::;;;;;;;:;;;,,;;;,;;:;;;;,,,;;,'.,,''............'...............'...',;::clodddodolc:,...........''..';ccccc:::cccccc::c;:::c:;'clllclllooolloollllllcloodkOO0XXXK0000OOO000000OOOOOOOOOOOkOOOOOOOkkkkxddXNKlod0kxxkkOkkxddocldoddddo:;:;;c::c:c::::::::;:::::cc;cooollodl:;;;:c:::::;;:;ll:;cl:c:;:::;;;,,,,,;:;;''';clloxxxkkkO00KK000000KKKKKXKKK00KK0KK00K0OOOOO00OkkkOkxxxkxxxxddxxxddxxddxddolllc;
... ..,;,,,,;;,,;;,,;::::;;;;;;;:;;;;;;;;,;;;;;;;,,,;;,'',''.............'..................'';:cclodxxxxxxddoc,.'......'..'...',;:cccccccccccccc::::cc:;;:loolc:ccclloololllllllodxkkOKXXK000OOOO00OOOOkOkkkkOO0OkkkkkkOkkkxxxdddWWWd:okxxkkkkxxkxkxoooloc::;;;:;;::::;:::;:::::::;:::cc:ccclllooc;;;;;:;;;:;;;;:;,,;:::;::;;::;:,,;;,,;,,'',:llodxxxkOkO000K00O0OkOO00K0KK0OO000K00000kkkkkkOkxkkkkxxxkxxxxxddddoooooooollc::;,
.. ...,;,,,,;;,,;;,,;::::;;;;;;;:;;;;;;;;,;;;;;;;,,,,,,'''''.............'...............'..',:ccllodxxxxkkxdoc:;::;,'......''..',,::cclllccllccccc::cccc,;coxxdl:::cccclllloooooddxxxkO0K00O0000OOOkkkkkxxxxkkkkkkkkkkkOOkkxxdddxOKOl;cOkkOOxxdkxxkOkxdcc:;,;;;;;;;;::;;:;;;;;::;;;;;;;:;::::::c:;,;;,,,,,;;;;;;,,;::;;:;;;;::;;:;,,,'',''',;colooddxkOOO00000OOKOOO000K00K0OOOO0000000Okxxxxxxxxxxxdxxxxxxxddooolcccccccc::;;,,
. . ....,;,,,,;;,,;;,,;:::;;;;;;;;:;;;;;;;,,;;;;;,;,,,,,,,''''.............'..................,;:lloodxxxxxkxxolcccooool:'.'..''....',;::cccccllcccc::clllc:;;coddolc::::::cloddodxxxxxkkkk0K0OO0OkkkkkkkkkkkkkkkkkxxxkkkkOxkkxxddxxxll;'lkOkOkkkxxxdkkkkdc:;;;;;;,,;,;;;;,;,,,,,;:,;;;,,,;,,,,,,,,,,,,,'.''',,,,,,,;;,,;;,;:::c::;:;,''..'''.';clcdodxk00kO00OOOOOOOOOOkkkkO000OOkOOO000OOOkxxxxddkxddddxxdxxddollllc::cc::::;;,,,
. .. .. .,,,,,,;,,,;,,,;::::;;;;;;;:;;,;;;;;;;;;;;,,,,,,,,'.''..............'.................,;:clooddxdxxxxdolc:codxOkxdll;,''....''',;;:c::ccccclcccccllcc:;;cloldol::;;;:clodxxkOOOkOOOOKKK0O0OkOkkkkOOOOOOOkkkkOkkkkkkkkkkOkxddddl,.;okkkkkkkkxxxkkxxdc::;;;;;;,,,,,,,,;'''',',''''''''''''...',',;,..'..',,,,,;,,;;;:;,ldlloc,;;,.....''.';:llddxxk0OkkOOOOOOOkkOkxxxkkkOO00OOkkOOOOOOkxxkxddxddddoooooodoollllllcccccc::::;;;
.... .. .,;,,,,;,,,;,,,;::::;;;;;;;::;,,;;;;;;;;;;,,,,,,,,'.''..............'................';:clloodxxxxxxxdlccloxkkkOOOOkOko,.''.'..',;;:;:ccccccclccccc:llc::cllooolcc:;;;:codxkxkkkkO0KNK0KK000OOkOOOOOkO000OOOOkkkxxxxkxxkkxdodo:'.:dOxkkxkkxdxxkxddoc:::::::;,,,,'''''.''''....''''',,,,,,,'';,;;;,,,.',,,,,;:;::,,o00d::l:;c,;,'''.....';:llloxxkOkxxkOOOOkkkkxxxxxxxxkkkkkxxxxxxxxddddddoodoooooooollolloooodooooollccccc::
... . ....,,,,,,,,,;;;,,;::::;;;;;;;::;,,;;;,;;;;;,,,,,,,,''.''...............................,:ccloodxxxxxddxoc:codxkOOO000OKKk:..'.....',;;;;::::ccclcccc::c:::::cllllolccc:::cclodxxxxkOO0K0000OOO0OkkOOOkkxxkkOkxxxxxxxxxxxxddddddl;,;oxkxxxxxxxdkxxxxxoc;;;;;;;;;;,,,''...''',''.','',,,,,,;;;,,,,;;;;,,,'',;;,;,;:;,;xXXOc;::::;;,',,'.....,:llooxdxOkkxkkkkkkkOkkxxkxxxxxxxxxdxxddddoodooddooodddoooddooddddddxxxddxddoollcccc
. ....,,,,,;;,,;;;,,;::::;;;;;;;;;;,,;;,,;;;;;,,,,,,,,'.................'........'.......';:cllodddxxddddolccldxxxO00000KKK0o,..'....'',;,;:::::ccccccc:;c:;:::cl:lollllllc:ccllodxxxxkkkOOO00OOOOOOOOkkOkxddoooodoodddddodxdooddolccoxxdkxxxxxxxxdxkxdl;;;,,,,,,;;,,,,'.,,,,,:,,,;:;,,,',,;;;,;;,;;,,;;,;,',,,,;,',;;;:ccc:::;;:,,,,;;,,.....,:clodddkxkdxkkkkkkOkkkkkxxdddodddoddoooooooodooododddddddddxxxxxxkxkkkkkxdddooooll
. . . . .,,,,,,,,,,;;,,;::::;;;;;;;:;;;;;;;,;;;:;,,,'',,''..........................'.....'.;;clloddddddddddlccloxkkxkO000KKKXXOl..,',,'..',',;:::cccccc:::::;;;:ccc;cllolllcc:cccloddddxkOOkOOOOO0000K0OOkOkOOkdooodooodddodxkxdodxooodkOkdxxxxdddxxdxdooc:clol;,;:;;;,,,',,,;;,;;;';;;'''',;:;,;;;;;;;;;;;;,,,,,,,;,,;:;;::::::;;;';;,::,'..'..';:cloddxxkxkOOkkkxkkxxdxdoxdoooooodoolloooooddddxxxxxxxkkxxxkkkkkkkOOOOkxdxdddddol
. . . . .,,,,,,,,,,;;,,;::::;;;;;;;:;;;;;;;,;;;;;,,,''''''..........................'.....'.;:clloddddxxxdoocclodxkkkO000000KKXXk:..',;;,'..'',;:ccccllc:::::;;;:::c;:ccoollllccccllddddxkOOOOOOOOO000KK0OkkxkOOkxxdxxddxkkxxxxxdxkkxkkOOOOkOkkkkkxxkxxddddxoxkdc,,,,;::;'',',;;,,;;,;,'',;::::;;::,::;;,,,;;,,,;;;,,,,;;;;::::;;;;,,;;;;;'.';;;;;,,cclodxxxdxOkkkkxkxxddddodoollloooodddxxxxkkkkkOOkOOkkOOkkkOOOOkkkOOOOOkkxxxxddol
. . .... .,,,,,,,,,,;,,,;:::;;;;;;;;:;;;;;;;;,;;;;,,,''''''..........................'.....''::loooddddddddocllodxxkOkOOOO00K00KX0d,..';;;,'..'',;:cccllllcc:;::;;;;:::::clclclccccllooodxkkO0000000000000OkkxkkkkkkkkkxxkkkkkxxdxxkkkkkkkkkkOOOO00OO0OOOOOkOkkxdoc,.;;cc;,,,:;;;,;;,;;,,;:cldl::::;;::::;,,;,,,,;:;,;,,,::::,::;,,,,:,;;,...;:clll:;;:cloodddxkxxxxxxxxdddxdddxxxxxxkxkkOOOOOO0OOOOOOOOkkOOkOOOOOOOkkkOOkOkkkxxddoll
. . ..'...,,,,,,,,,,;,,,:c:;;;;;;;;;:;,,,;;;,,;;;;,,,'''''...'..............'...'....'.....,;:cloooddodddddl:oodxxxxOOO0OO0000KKKKOl...,;;;;;''''',:c:cooollclc::::;;;::;;;:lclcllclclooodkOOK00KK0000OkO00OOxkkxxkkxkkkkkOkkkxxxxxxxxxxkkkxxxkOkkxkkOkOO0OkOkkkkxoc;;;cc'':cko::::;';;;:::::l;,:c::l:cloc;,,,;,',;;,;;,,,,;;c:;;,,;;c,,:'..;;:clloollc::ccllcooddxxxxxkOOO0OO00000OO00K00K00O00000OOOOOOOOOkOOOO00OkOO0OOkkkOkdoolcc
.. . .;. '';,,,,,,,,;,,,:::;:;;;;;;;;;;,;,;,,;;;;,,',,''''...........................'.....,:clloodddodddoolloddxxkkkOOOOO000O0XKKKd'..,',:;:;,''.',;;;cclclllllc:::;;;;;;,:ccllllccllooddxkO0OO000O00OkOOkkkkxdxxxxxxkkkkkkkxkkxxxxxxkkkxxxxkkkxxdddxxxxxkkkkkkxddo:;;,;,;cldc;:c:,,:;:;;;,,;,,clcldc:::;;;,,,,;,,,,,,,,,;;:::;,;:;;:,;;...;c::lllooolc:::clooodxkkkkO000000KKKKK000K000K00O00000OO000O000OOOOOOOOOOkOOOkOkkkxdolccc
.. .. ' '';,',,,,,,;,,,:::;;;;;;;;;;;;,;,;,,,,;;,'','''''................................';:clllooddoodooooooddxxkkkkkOOO000OOKKKXk:'.''';;c:;;;,''',',;::clllllllc::;;;,,,;clllllllooooddxkkkkkkkkkOOxkkxxdxdddxddxxxxxxxxxkkkddxxxdxxxxkkxxxxxxdddddddxkkxkkxxdxdc;;;;;;;;:,'',,,;c;;;,;,,,;,,cddc;,;;,,;,,,,;,,;;,,,,,,;;::;;;;;,;,,,..'::;:clllool:::cloddxkkkkkkO000KK000KKK000K0OOO00O00OOOOOOOOOOOOOOkkkkkkkxkkkkkkxxddolcc:;
... . ;. '';,,,,,,,,;,,,:::;;;;;;;;;;;;,;,;,,,,;;,,',''''.................................';cclllooooooooodddddxkxkxkkkkOO0000OK00XOo,.'..,,c:::cc:;;,,',,;::ccclllccc:;;,,,,,:clllllooooodddkkxxxxkkkkxxdooldoooooooxxdddxxxxxxdddxxodddxxkxkxddddddxdddxkxxxxxxxxdl;:;;:;,,,,,,,,;;;,;;;:;,,;;,,;:;:,,;,,;,,,,,,,;;,;,,,,,,cc:;,,,,;,;;...;:;;:ccllc:;:cloddxkOOOkkkO000K0OOO000000K0OkkOOOOOOOOkxkxxdxxxxxxkkkxxxxxxxxddolllc::;,,
... .;. '';,,,,,,,,,,',:::;;;;;;;;;;;;,;,;,,,,;;,,',''''.................................,:ccllloooooooooddddxxkxkxkOOOOOO000OK00X0x;''..'';:::ccccc:;,,,;;;:::cllcclc;,,,,,;;;:loooolllooodddxxxddxodoooooldoooodddxxxddxxxkxxdooddoddddxxxxdoooddddddddxxxxddxxdoc;:,,:;,;,;;,,;;,;';;:c;';;;:;,;cl;;;,;;,;,,,',,,;,,,,,,,;;;,,;;;;;::,..,:;;:ccclc:;;:loddk0000OOOOOO000OkO000OO000Okkkkkkkxxkxdddddddxddxxxxddddddooolc:c:;;,,,'
.. . .:...';',,;;,,,;',;:::;;;;;,,;;;,;,,;;;,,;;,,'',''''...................'.............,:ccllllooooddddddxddxxxkkkOOOOOOO000K00K0k:''.''.,::::::clc::::;;::;;:ccclc:;;,,;;:;;;:llloollloolloddddooooooooddooodddxxxxkxdxxxdxxdddooddddddxxdolodxddodddodxxxddxddl:',,,,,,,;;,,,,,,,,,;;;;;'lxdl:cll:;;,;;,,','','';,,''',;,:;::::,c:::;'.,;;,;:cccc:;;:looxk00K00OkOOO0K0OkOOOOkOOOOOkkkkkkxddooooodddddddxxxddoooolccc:;;;,,,,,,,
. .. . ':...,;,,,;,,,;;,,;:::;;;;;,;;;:;;,;;,;,,;;,,'',''''...................'.............;::clllllooodddddxxxxxxxkOOkkOkkOO000XK0K0Oc'''''.',:c:;;:c::cllcccc::::::c::;,,;::::::::ccllllllllllllooooooooooddxxxkkkxxdxkkxxxxdxxxddddxddodddddoodddoooodddxxdxddddlc;,,,,,,,,,,'''''',,,,,,,;'cooc:lo:;;;,;;,;,,',:::,;;,,;::looolcccc::::;,',,,;:ccc::;;;clldxOOK0OkkOOOO0OkOOOkkxkkxxxkkkxxxddoooooddddddddoodoolccc:::;,,;,,,,,;;:
. .. .,. .,;,',;,,,,;,',::::;;;;,;;;:;;,;;,;,,;;,,'''''''................................';::ccllllooooddddxxdxxxxxkkkOOOOO00K0KKKXKOl'''','',;c::::::::ccccccc:::::;::;;;;:ccccccccccllllllcllllclodoodddxkkOkkkkkxxddddddxddddxxooxddoddddoddddddddddddddddkdoolllcdol:;,,,''',,,,;',;;,',;';c:;;:;;;;;,,::;,;,;ccc;;;;,;:cololcccc::::c:;,''',;::cc;;;;:ccodkkOkkxkkkkkkkkkkkxxxkkxxxxxxdodoollllloooooooolllcc:::;;;;,,,;;;;;::::
. . .'. .;,,',;,',;;;',:;::;;;;;;;;:;;,;;,;,,;,,,'''.'''................................':c:ccllllodooddddxxxxxxxxkkkOOkkO00KO000KK0o'',',''.,::clc::::cccccllcc:cc:;;;;;;;:::cclcccclllloooooooodddxxxxxxkkkxxddooolollooooddxdoddodoooddoooooooddodooddddddllollodkxdl:;,,,,;::;,;,,;;;,,,;ldoc::cc:::;;:::::;;:;;:;;::;:lc:c::c:c:ccc::::,,'',;::c:;;;;clldkxkxkdxxxxxxxkdddxxxdddoooooooollllllcllollcccc::::::::::;;,;:cclcclll
. .....,,'',,,',,;,',::::;:;,,;;;;;;,;;;,,,,,,,''''''...................''......'.'...';ccccllloododdxxxxdxxxxxkkxkkkkkO0O0OK00K00l'''',''.',:ccl:cccclllclc:::::;::;;;;;;:;;::cclllllodddoooxxxxxddddddoodloolllloooolllldOOdllddooooollooooooolllllloolll:cddlcllllc:;,;;:clc:;:c;;ll:;;;colc:cl::::::::ccc::;;::;:::::cc::::c::ccc:::;;;,''',;::::;;,;ccoxxxxxdxxxxxxxxddddddoollllccllccllccc:cccc::::cccllllclllc::cololllool
....',,,,,,,',,;,';::::,;;;,,;;;;;,,;;,,,,,,,''''''....................'......'.'...';c:cclllooddddxxxxdxxxxxkkkkkkkOOOO0O000KOOc',,,;''.'',::c:cccclollllcccccccc::;;::c:;;,:clloooddxddddxkxxddxxxxxxxxdddooooddddddddkkxddxxxdxxxxxxxxxxxxxxdddddoolc:;:odoc:;;;:::::;:ccc:cl::cdxl;,:cc::clllclooooodooollllccllllllcllccccclllccc::::;;;;;;::::;,;::codddddddddddddooooolllcccc:ccllllllcc:::::cclodddoooollllc::ldoolllooo
....',,,,,,,',;;,';::::,;;;;;;;;;;,;;;,,,,,,,''''''....................'......'.'..',;cccclllooddddxxxxxxxxxxkkkOkxkOOOO000O0KOx;';,,:,,''.,;;::::cclllolllllllllllc::::cc::;cclooddddxxxxxkOOOk0KKOOOOOxkkxkkkkxxxxxkxxkkkkkxkOkkOOOOO000O00OOOkkkkkxxddolcllll::::cccc:::ccccllccllc::ccccllllolodddooxdoollllooooolooooollllollllcllccccc::::;;;::;,;;::ccllllllllllllllllcccllcccccclllllcc:lloddxxxxddooooolllcccodoolllodd
....',,'',,,',,;,';::::,;;;;;;;;;;,;;;,,,,;,,''''''....................'...........',;:cccllooododddxxxxxxxxxkkxOkxkOkOOkO0O0Kxl,';;,:;,,,.',,;:;;:::cccloolllllloollc:::c::;cclloddodxkkkxkO000XX0kOXNXO0OkkkxkxxxxxkOOxxkkkOkkOOOO00000OOOOOOOOOOOOkkkkkdolllllcccccccc::cccccccccc:cclcccccllolloolllllllcccloodollooooolllllllllllllolllcclllc:cc::c;;;;:::c:cccccccccccccllclllcccclllloodddxxxxxddxdddooolllcccloolllloodd
..,,'',,,,,,;,,,::;;;;;,;,;;;;,,;;,,,,,,,'''.'''................................';::ccllooooddddddxxxxxxxxxkkkkkkxOOkOO0O00d:',;::::;;,,''',;:::::::ccccllllcllllllc::::;:cccooooodxkOkxkkkO0KK00KXXXOOkkkxxxxx0X0kkOxxkOkkkOOO0000OOOOOk000OOOOOOkkxkxxdolcc:cccccc::ccccccc:cllllccclllllllccccllllccc:cclclooollloooooooollllllooooolllllllllllollcc::::::ccccccccccccccclcllooooodddxxxxxxxxxxxddxdddooollcc::clolllllloo
. ..,,'',,,',,;,,,::;;:;;,;,;;;;,,;;,,,,,;,'''.'''................................';::ccllooooodddddxxxdxxxxxkkkkkxxkOkOkOOO0d;',;::cc:::;;,,'':;;:c:::::cccccclcc:ccll::::;:::cllloddxkkkkkkk0k0XNXKKKXKOkxkkOxOWWXOkxOOOOOOkkOOOOOOOOKxkNWWKk0OOOOOOkkxxxdl:;::cc:::::ccc::::cllolllclloodol::llllllollollllloooolllodolllollllcclloodooollllllllllllollllllcccccc:clccllllloddddddxxxxkkxxxxxxxxxdddxddooollcc:::clllooooood
..,,',,,,',,;,',::;;:;;,;,;;;;,,;;,,,,,;,'''.'''................................';::ccllooooodddddddddxxxxxkkkkkxxkOkOkOOO0o,,;:cccccccc:::;;;,,:cc:ccccccccccc::;:cc:cc::::::cllloooxxxkkkxxdkOOOkOOK0kxddxxdx0KOOOxk0XX0kO000KKKKKKX0KWWNKOK000000Okxxxdl:;::::;::c::::;;:::clllllolodxkxocldxxdddoxdddddddddddooooollcllllllcclloooollllllollllllllllllllcccllllloclodddddxxxxxxxxdxkkkxkkxxxxxdddddollcc:::;::cclcllllodx
..,,'',,,',,;'',:::;;;;,;,;;;;,,;;,,,,,;,'''.''.................................';::cclloooooddddddddxxxxxxxkkkkxxkOkOkOkOOo,,;cccllllllcccc::;;;::ccccccccclccc::;;;::::cc:;::cccclloooddoooddxxxxddxxddddddooddoxkdxOKKOxk0KKXXXXXXX0KXWK00000OOkO0xxxdoc:;;;::::::::::::::cloooodxddxxxxddxxxxxxxxOxooddddxxxdolooolcclllcllcclllllllllllllllcccclccccllccllllllloloddddxxxxxxdxxxxxxkkxxxxxxxddddolcccc::cc:::::::::cccod
.',,',,,,,,,;'';:::,:;;,,;;;;;,,;;,,,,,,''''.''.................................';::cllloooooddddddddxxxxxxkkkkkxxxkOkkkkkOo.,:lllooloooooooolc:;;;;:cccclllcccccc:;;,;;::ccc;::ccccclllollldoddxdoododddoddodloolodlddddddxkxkkkkkkOkkk00OkOkOOkkkkxxxddo:;;::ccc:cccccllllodxxdodddddxkkxxkkkkxxdddxddxkxddddddoooolllcccllccccclcccllllcccccccccccccccccccolllloodddddddxxxxxxxxkkdxxxxxxxxxxxddooccc::cllcccllcclcc:::ccc
.',,',,,,,,,,'';:::;;;;,,;;;;;,,;;,,,,,,,'''.''.................................';::cllllloooooddddddddxxxxkkxxkkxxkkkkOkOkl.;cllloolodddddxxxdoolc:;;;;:ccccllllccc::;;,,;;:::::::::c:ccccllooooooooodddddddxoodoooodooodddxddddddxxxxxkkxxkkkxxkkxoxddlc::cccllllllllloollolddoodxdxxxkxxxxkkxdddddxdodxdddodddooolllllllcclccccccccccc:::ccc::ccccccclllllllooddddxxdxxxxxxxxxxxxxxkxxxxxxxdddolc:cccclolloolllooollcccccc
.',,'',,,,,,,,';:::;;,;;;;;;;;,,;;,,,,,,,'...'..................................';::ccclloooooooddddddxxxxxxxxxxxxkkkxOOOOkc';cllloolooodddxxkxxxdlc::::::::;:::::::::::;;,,,;;,;;:::::ccc:cclloooollodddoddddddddddxdddddddxdxxxxxxxxxkxxxxkkxxxkkdodolc::clllllllllllllllllollddddkddddddddkkxdoodxxxdddooooodolllcllllcccclcccccc::cc:::cc:cccccllllllloooooddddddxxxxxdxxxxxxxxddxxxxxxddxollc::cccllooolooooooooolllllcl
.',,,',,,,,,,,.;c::;,,;;;,;;;;,,;;,,,,,,,'..''..................................,;::cclllooooooodddddddxxxxxxxxxxxkkxxkkkOOoc';clllloloooodddxxdddolllllllooolllc:::c::::::::;;;,,,,,;;;:;c::cclllllcllllllloloolodddodddooddddxxxddddxxdddxxddddddoolcccccllcccccccclloolllldoloolooddddddddodddooooooddoollloolcllclccccccc:::cccc:::c:::cc:cllllllllllooooooodddddddxxxdddxxxxxxddxxdddddolc::::clclllllloooooloololcllllo
.',,,,,;,,,,;'';:::;,,;;,,;;;,,,;;,,',,,,''.'...................................,;::cllllooooooodddddddxxxxddxxxxxxxxkkxkOOxd:;,;cclollllloddddxdddddOkxxxxxxkxdlcclooooollllllcc:c::,;;,,,,;,;;;;;;;::::::clcccclllllloooloooooddddooddooooolllllccc::::ccccccccccllcodolcclollllccloooooloooooolllclllcccccccccccccccccccccc::ccccc:cc:cccclllllllllllloooodooddddxxxxxxxxxdxxxxddddddddolc:::cclllllllllllloollllllccclllo
.',,'',,,',,;'';::;:,,;;,,;;;,,,;;,,',,,,''.'...................................,:::cclllooooooodddddddxxxxddxxxxxxxxxkkkkkkkdl;',:lllllllodxddxxxxkO0Okkkkxxxddlccloooodddddddddodoollccccc:c:;;,,,,,,,,;;:c::ccclccclllllllllooooooloolllcccc::;;;:;:cc::ccc::::cclcclccccclccclcclccllcllllllccccccc::::::c::cccccllccccccccccccclccccccccllllcllloooooodddooddddxddddddxxdddddddddoodoc:;;:clllllllllllooloolllll:;;:llll
.',''',,,,,,,,';:;;:;,;,,,;;;,,,;;,,,,,,,''.'...................................,:::cclllloooooddoodddddxxxdxxxxxxxxxxkkxxxkkkxd:,,:cllclloddddxxxkOO0OOkkxddooolccloccllllllddddxxxdddddddddooollllcc::;;;:::::::c::cccllcccllllooollllllllccc;;;;::;:c::;:::::::::::c:::ccccccccccccccccccc:cc::::::::::::;::;:::::llllcccccclcllllllllcllllllllllooooooddddooddddddddddddddddddddodoool:;:clllcllolllloooolollllll:::clllc
.',,,,,,,,,,,,';:;;:;,,,,;;;;;,,;;,,,,,,,''.'.'.................................,:::cllllloooooddoodddddxxxxxdxxxxxxxxkkxkkxkOkkkl,';lcclooooddddxxO0OOOOOkkkxdolc::::cccllcclclldddoodddddddodddddoooooolllcccc::::;:::::::::::::c::cccc::::;;;;;;;;;;;;::::::::cc:;::::::ccc::cccc:::ccc:ccccc:::cc:ccc::cc:::cccclccllllllcllllclllllcclllccclllllloooooooooodddoooddddddddddddddodoooc;:lcclllllllooooolllllcllcccccccccc
.',,'',,,,,;;',;::;;;;;,,;;;,;;,;;,,';,,'''....................................';::clllllloooooooddddddddxxxdddxxxxxkkxxkkxkkkxkkxo:.c:llloloodddxOOO0000000Okdlcc::ccllooooollcccllooooodoodoodoooooooooolllllllccccccccc::::::::;;;:::;;;;;;;,,,,,,;;;;;;;;;;;;:::;c::::::c:cclccc:::cccccccccccccclcccccccccccllllllccclcclllcclllcccccccccccccccclllllolloooooooodooooooodoooooddodol:,:lcllllllooooolllllcccccc::cccc::c
.',,',,,,,,,;',;::;;;;;,,;;;,;;,;;,,,,,,'''.....................................,:::clllllooooooooodddddddxxxddxxxxxxxxxxxxkkxxkOkxl,,;clcccoooddxkOOO00KK0kdolllllloloodxxdodoolccccllloooodooooollolllollllllllllccccccccc:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::c::cccc::ccccccccccccccccccccccccccccllllllccclcccccccccccc::::cc:cccccccccccllllllllooooolloooooooooooooddol:,;c:cccclllllllccc:c:;:::;;;;;;;;::
.',,',,,,,,,;',;::;;;,;,,;;;;;,,;;,,,,,,,''.....................................,:::clllllooooooooodddddddddxddxxxxxxkxxxxxkkxkkkOOdl.';cc:ccloodxxkkO0KKOxocoooooododxxxxddoddooolooccccclllooollloollllllllllllllccccc:::::::::::::::::::::;::::::;::::::::::::::::::::::::::::::::::::::::::::cccc:::ccccc:ccc:cccclccccc:ccccc::::::;::::::cccccclcclllllllllllllcllllllllloooooooool:,,:::ccccccc:::::;;;;,,,,,',,,,,,,;
.',,',,,,,,,,',;;;;;;,;;,;;;;,,,;;,,',,,,''....................................';:::cllllloooooooodddddddddddddxxxxxxkxxxxxxkxOkxkOxx;,';::cclllodxxkOKKOxdoodxddodxxdxxdddddddddoooooolccccclllllllllllllcccllcccccccc::::::::::::::;;;;;;;;;;;;::::::::::::c::::::c:::cc:::::::::::::::c::;::::cc::cc::cc:::ccc:cllccccccc:::::::;;:::::::::cccccccccccllccccccllccclllclllllllllllllolc;,;;;::cc:::::::ccccccccc::;;;;,,,,
.',,',,,,,,,;',;:::;;,;;;;,;:,,,;;,,',,,,''....................................',;::cclllooooooooooddooddddddddxxxxxxxxxxxxkkxkOkkkkxdc,',;:cccloodxxO00kddxkxxxxdxxxxxxxdddxdddddddodoolllcccccccccccccccccclcc:c::::::::::;::;;;;;;::;;;::;;:::;:::::::cc::cccccccc:ccccc::cc::::::c::::::;;::::::::::::::::cc::clc:ccc:c:;;;;;::::::::cccccccccccccccllcccccccccccccccccccclllcclolllolccc::ccccccclloooododddddddooooolll
.',,',,,,,,;;',;::;;;,;;;;;;:,,,;;,,',,,''.....................................',;::cclolooooooooooddddddddddddddddxxdxxxxxxxxxxkxxxkkdc,',;:cclooodxkkkkOOOkOxxkkddkkkkxxxxxdddddddxxdddddlo:ccccccccccccccccc:::::::::::;;;::;;;;::;;;;;;;;;;;::;;;::::::::::cccccc::::ccccccccccc:c::::::;::::::::::::cc:::cc:cccc:cc:;::;:;;;;:::::::::cc::ccccccccccccccccccc:::cccccccc:cccccclllllccllllllllooloddoddxddxxxxxxxxxxxxxx
.',,',,,,,,,;.,;::;;;,;;,;;;;,,,;;,,',,,''.....................................',;::cccllllllloooooooooooooddddddddddddxxxxxxkxxxxxxkxkxc'.,;::lloooddxkkkkkkxxkxxxxxxxxxxxxxxxxxxxxdxdddddloccclllllccccccccc:::::::::::::::::;;;;;:;;;;;;;,;;;;;;;;::;:::::::::c::c::::cccccccccccc::::::::::::::cc::ccc::::cc::cc::::;;;;;;;;;;:::;:::::::::::::cc::::::::cccccc::ccccccclcccccccccclcccllllllllooloooooodddddddxxdddddddx
.','',,,,,,,;',;::;;,,;;,;::;;,;;;,,,,,''...............................''.....',;;:ccllllooolooooooodoooodddddddddddddxdddxxxxxxxxxxxkxd:,',;:clllododxxxxxxdxxddxxxxxxxxxxxxxxxkkxxkxxdddool::looollcllllcccc::::::::::::::::;;;;;;;;;;;;,,;,,;;;;;:;;::::::::::::c::::::::ccc:::cccc::::::c::::ccc::::::::ccc::cc::::;;:::;;;;;:::;:::::::::::::::::::::::ccccccc:cclcccclcccccccc:clccccclllllloooooooodddddddddddddddddd
.',,',,,,,,,,',;;:;;;,;,,;;:;,,,;;,''''''..............................''......',;;::ccccllllllooooooddooddddoodddddddddddddxxxdxxxxxxdkxd:'.,,:lclooodxxxdddxxddddddxdddddddddoodddddddddoolc::loollollcclc:cc::::::::::::::;;;;;;,,;;,,,,,,;,,',,;;;;;;::;;::::::::::::::::c:::::::cc:::c::cc::::cc:::::::ccc:::::::::::::;,,;;;;;;;;;;;;:::::::::::::::::c:cccccccccclclccllccccccccllllllllllllloooooooddddddddddxddddddx
.',,'',,,',,;',;;::;;,;,,;;;,,,,,,,'',''.............................'.''....'.',;;::ccccclllooooooooooodddddddddddddddddddddddddddxxdxxdxd:.'',:clooodxddddoddooooooollollclllcclllllloollcc::clollollllllc:lc:::::::::::;;;;;;;;;,,;;,,,,,,,,,',,,;;;;;;;;;::::::::::::::::::::::ccc:::::::c::::::c:c:ccc::c:::::::::::::;,,,,;;;;;;;;;;;;;;;;;:::::::c:::c:cccccccccclclclllcccccclccllllllllllooooooooodddddddddddddddddd
.',''',,,',,;',;:::;;,;;,;;;,,,,,,''''''.............................''''..'.''',;;;::ccccllllloooooodooodddddddddddddddddddddddddddxoxxddkd:''',:lodoxxddddooolllcccc::c:;,;;::ccccccc::::::cclollloclllllcccc::::::;;;;;;;,;;;;;,,,;,,,,,,',,''',,,,;;;;;:::::::ccc::::::::;::cccccc:::::::cccccccc::::cc::c::::::ccc:::;,,,,,,,,,,,,,,;;;;;;;;:::::::c:::c:cccccclclclclclllllcllllllllllllllllooolooooodddddddddddddddddd
.','',,,,,,,,',;:::;;,;,,;;;,,,,,,''.''..............................'','..'.''',;;;:ccccclllllloooooddooodddooodddddxdddddddddxddodddxddoxdd:;'.;:clloolcllc:::::::::::cc:;:;:::::::cccclllllllllllllllllllccccccc::::;;;;,,,,,,,,,,,,,,,,,',,'''''',,;;;;:::::::ccccc:::::::::cccc:c:::::::c::ccccccc::cc::c::cc::c::::;,,,,,,,,,,,,,,',,;;;;;;;:::c::::::c:cccccllllclclcclllllllllccclllllllllloolooooodddddddddxdddddddd
.',''',,,',,,',;:::;,;;,,;;;,,,',,'..'.............................''',,'...'''',,;;;::ccccclcllllllloooooddododddddddddddddddddddddddddddddddoc;,,;:::::;::c:cclccclclooolllllllllllllllllllollllllllllcccccccc:::::::;;;;,,,,,,,,,,,,,,,,,',,,''...',,;;;;;;::::cc:::::::::::::::::::::::::cc::::ccccccc:::cc:ccc::c:;,'',;,,,,,,,',,,,,,;:;;;;;;;:::::::ccccccccclccccccllllccccccccllllllcllllllooooooodddooddddddddddddd
.',''',,,',,,',;:::;;;;,,;;;,,'''''...............................'''',,'..''''',,;;;::cc:cccclllllllllooooooooodddddddddddddddddddddddddddddxddolcccccllclllooooooodlooooolllllllllllllllllllllllllllllccccc::::::::;:::;;,,,,,,,,,,,,,,,,,,,,,,''...'',,,;;;::::cc::::::::::::::::::::::::c::cccccc::cccc::c:::c::::;,''',,,,,,,,,,,,,,,,,;;;;;;;;;;;:::::c:cccccccccccccclcccccccccllllllclooolllolllooooddooddddddddddddd
.',''',,,',,,',;:::;;,,,,;;;,,''''................................'',',''''''''',,;;::::c:cccclllllllllloooooooooddddooddddddddddddddddddddddddddddddodddddoooooooooooollollllllllllllllllllllllllllllllcccc:::::::::;;:;;,,,,,,,,,,,',,,,,,,,,,,,,'...',;;;;;::::cc::::::::::::::::::::::::c::ccccccc::::::cc:::::::;,''''''''''''',',,,,,,,;;;;,,;;;;::::::::ccccccccccccllccclllccccllllllllllllllloooooooooooooododddoood
.',''',,'',,,',;;:;;;,,,,;;;,'''''................................'','''''''',,,,,;;:;::ccccccccccclllllloooooooooooddooodddoddddddddddddddddddddddddoooooddoddoooooodolllolllllcccllllllllllllllccllccccccc:::::::;;;;;;;,,,,,,,,,,,;;;;;;;;;;;;;,,'...'',,;,;:;;::::::::::::::::;;::::;;::c:cccc:cc::cccc::::::::;;,,',,;,,,,,,,,,,,,,,,,,,,,,,,,;;;;;;;:::::::::ccccccccccccccclllccllllllllllllllllooooooooooooooooddoooo
.',''',,,',,,',;;::;;,;,,;;,,'''''...............................'''',,'''''',,,,,;;;;;ccccclcccccclllllloooloooooooddooodddodddddodddddddddddddddddoddoodddddooooooooolloolllllcccllllllllllccccc:cccccccc::c:::::;;;;,,,,,,,,;,,,;;;;;;;;;;;;;;;;,,'...'',;,;;:;::::::::::::c:::;;;::;;;;:c:::::::c::ccc::::::::;;,,,,,;;;;;,;,,,',,,,,,,,,,,,,,,;;;;;;;;;;::::::ccccccccccccllllloclllllllllllllllllollllololllloooloooolo
.',''',,,',,,',;:::;,;;,,;;,''''''...............................'''',,'''''',,,,,;;;;;:::cclcccllllllllllllllooooooodoooodddoddddddddddddddddddddddddooodddoddoooolloolooooolllllllllllllllcclcccccccccc:::::::::;;;;,,,,,,,,,;;,,;;;;;;;::;:;;;;;,;,'...',,,;,;,:;::::::::c:c:::;:;::;;;;::::::::ccc:c:::::::::;,,,,,,,,,,,;,;;,;,;;;,,,,,,',,,,,,;;;;;;;;;::::::::ccccccclccllllllllollllcllllllllllllccllllllloololoololl
.',''',,,',,,',;:::;,,;,,,,,,''''..............................'''''',,''''',,,,,,;;;;;:::::c:cccccclllllllllllllooooloooooooddooooooddddddddddoddoooddddddddooooooooloooooooooollllllllllccclllccccccc::::::c:;;;;;;;,,',,,,,;;;;;;;;;;;::;;:;:::;;;,'...',,',,;;;;;;;;;:::::::::;:;::;;;;;:;::::::::::::::;:;;;;,'''''',,,,,,;,,;;;;;,,,,,,',,,,,,,;;;;;;;;;;::::::::::ccclccccclllcllllllllloollllllcclllcllllllllllollolo
.',,'',,,',,,',;:::;;,;,,,,,,''.'..............................''''',,,''''',,,,,,;;;;;:::::cccccccllcllllllllllllooolllooooooooodddooooooooodooddoooddddddddddoooolllooooloooollllllcllllccccllcclc:cc:::::;:;;;;;;;,,'',,,,,;;;;;;:;;;;;;;;:;;;;,''''...',,',,;,;;:;;;;;:::;:::c::;;;;;;;;;::::::::c::;:::;::;;;,......'',,,',,,;,;;,,,,,''',,,,,;;,;;;;;;;::::::::::ccccccccccclllcllccllllllllcllollllllcllllllccllllllll
.',''',,,',,,',;;:;;;,;,,,,,'....................................',,,'',''',,',,,,;;;;;:::::cccccccclccllccllllllllooolloooodooooooodoodddoooododdoooddddddddodooooolloooloooolllllllllllllllcllcccc:c::::;;;;;;;;;,',,',,,,,,;;;;;;:;;;;;;;;,,,'.....''...'''',,,,;:;;;;;;;;;;;::::;:;,,;:;;;;:::;::::;;;::;;;,,,. ....''',,,,,;,,,,,,'''',,,,,;,;;;;;;;;:::::::::cccccc:cccccccclllclllllllllllolcclllccllllllllllllccl
.',''',,,',,,',;::;;,,,,,,,,''..............................'....',,,',,,'',,',,,,;;;;;:::::::cccccccllllclllllllllooollooooooooooooooooooooooooddododdddddddoodooooooooooollollllllcllllllccccccccc:::;;;;;;:;;;;,,',,,,,,,,;;;;;;;;;;,,,,''..........''....'',,,,,;;;;;;;;;:;;:::;;:;,,;;:;;;:::;::;;;;::;;;;,'.. ....'''''','''',,',,,,,,,,,,;;;;;:;;::::::::ccccccccccccccllllcllllllllooollllllllcclllllllccllccl
.',''',,,',,,',;::;;,,,,,,,,''..............................'...''',,,,,,'',,',,,,;;;;;;;::::::ccc:ccccllccllcllllllolllllooooollooolooooooodoooooloodddoooddoooooooooooloolcllllcllcllllllccccc:ccc::;;;;;;;;;,,,,,,,,,,,,,,,,,,;;,,,'''..... .. ....'''...'',,,,,;;;;;;;;;;:::::::;;;;;;;;:::::::;;:::;;;,,,'. .....''''''''''',,,,,,,,,,,;;;;:;;::::::::cc::cccccccccclllccclllllllllllllllllllllllllllccllccl
.',''',,,',,,',;::;;;,,,,,,'''..............................'..'''',,,,,,'',,',,,,;;;;;;;::::::cc::clccclccccclllcclolllllooooollllooloooooooododolddoodooooooooooooloolllllllccccclcccllccccccc:cc:;:;;;;;;,,,,,,,,,,,'''',,'',,,,'.............. ...',,,,...',;,,,;;;;;;:;:::;;;:;;;;;;;;;::c:::::::::;;,,,,.. . .......''''''''',,,,,,,;,,;;;;;;;;;;;:::cc:::cl:ccccccclllccccllllllccllllllllllllllllcc:cllcco
.',''',,'',,,',;;::;,,,,',,'................................'..'''',,,,,,,,,,,',;;,,;;;;;;:::;::::::cccccccllcclcccccllcllllcollllooolloooooolooooooodoooodoodoolllooolllllllllllccclcccccc::c:::::::;;;;;;,',,,,,,,',,,,,''''','................. ..,,,'''..',;;;;;;;:::;:::;;::;::;;;;;;::c:::::;;;;;,,''''.. .....................'''',,,,,,,,,,;,,;;;:;;;:::;::::::::ccccccccccccccllccllccllcloollllcllllccl:cccllll
.',''',,'',,,',;;;:;,,,,,,,'................................'.'',,,,,,,,,,,,,,,,,;;;;;;;;;::::::::::cccccccccccccccclllcllllclllllloolloooooollooooodooloooooooollllllllcllllclllcccccccccc::::::::;;;;;;;,,',,,,,,,'''''''''..................... .',,,,''''',,,;;;;;;::;::;;;;;;;;;;;;;;:::::;;;;;;;,,,,,''.........................'''''',,,,,',,,;;;;;;;;;;:;::::::::cccc::cc:cccccllccllccllcllllllllllllcccccccclcc
.',''',,'',,,',;;;;;,,,,,,,'................................'.'',,,,,,,,,,,,,,,,,;;;;;;;;::::::::::::ccccccccccccccclccllllllcllllllllllooolllllllllllllloooolloolllllccccccccccccccc::::::::;;;;;;,,;;,,,,,,,,,,,,,''''.......................... .',,,;'''',''',;;;;;;;;;:;;;;;;;;;;;;;::::;;;;;;;,,,,,''''...'........'..............'.'''''','',;;;;;;;;;;;;;:::::::::cc:::cc:ccccccccccccccccccccclcllllcccclllccccc
.',''',,'',,,',;;;;;,,,,',,'......................... .......''''',,,,,,;,,,,,,,,;;;;;;;;::::;::::::::::ccccccccc:cllccllllllcllllccllllloolllllllooollllllllllollccccccccccccccccccc:::::::;::;;;;;,;;,,;,,,,,,,''''............................. .',;,,,,,''''',,;;,,;;;;;;;;;,:;;;;;;;;::;;,,,,,,,,,,,,,,'..............................'''''''',;;;;;;;;;;;;;;;::::::::c:::cc::ccccc:ccccccccccccccccllcccclllllccccl
.',''',,'',,,',;;;;;,,,,'','........................... .....''''',,,,,,,;,',,,;,,;;;;;;;:::::;;::::;::::::cc:ccccccccccclllllllllcclllllloolllllloolllllllllllllccccccccccccccccc:cc:::::::;;;;;,,,;;;,,;;,,,,''''''............................ ..,;;,,,''',,,',,,,;;;;;;,,;;;;;;;;;;:;;;,,,,,,,,;,;,,,,,'....................'...........'...'',,;;,,;;;;;;;;;;::::::::::::cc:::ccccc::cccccc:ccccccclcccclclccclcccl
.',''',,'',,,',;:;;;,,,,'','........................... .....''''',,,;;,,,,,,',,,;;;;;;;;:::::::::::;:::::::::::::cccccccccclllccclllllclllllllcllllcllllllllllcccccccccccccccccc::::::::::::,;;,,,,;,,,,,,,,,''....'............................ .';;,'',,,,,,,,'',;;,,,,,,;,,:;;;;;;;,,,,,,,,;,,,;;,',;,.....................................'',,;;,,;,,;;;;:;;::::::::::::::::;::cc:::::cccc:cccccclccllllclccclclcc
.',''',,'',,,',;::;;;,,''','........................... ...'.'',,,',,,;,',,,,,,,;;;;;;;;;:::::::::::;;;;:::::::::::cccccccclllcccllllllccccccccccllllllccllllcccccccc:ccccc::c:::::::::::;;;:;;;,,,;;,,;;,,,,..'..''''.......................... ..,,,',,,,,,,,,,,,;;;;;;;,,,;:;,,;;;,,,,,,,,,,,;,;,;;;;'......................................'',,,,,,,;;;;;;,;;;;::;:;;;::::::::::::::::::::::::ccccccllclclclclclcc
.',''',,'',,,',;::;;;,,''','...............................'.',,,'',;,;,,,,,,,,,;;,,;::;;::::::::::::::::::::::::::cccccccccc:cllllllcccclccclccclllcllcccc::ccc::::::::::::::::::::;;:;;;;;:;;;,,,;;,,;,,'',.','','',.......................... ..''',,,,,,,,,,;;;;;,;,,;,,,;:;;;;;;,,,,,,,,,,,;,;,;;;,'.......................................',,,,,;;;,,;;,,;;;;;;,::;;::::::c::::::::::::::::::ccccclcllccccclclcc
.'''''','',,,',,:;:;;,,,'','................................',,,,,,,,,,;;,,,,,,,;;,;;;;;:::::::c:::::c:::::::::::::::cccccccccccclllllcclllcclcccccccclccc:::::c:::::::::::::::::::;;;;;;;;;;;;;,,;;;,,,,'''',,;,,,,',.......................... .','',,,,,,,,;;;;;;,;,,;;,;;:::;;;;;;,,,,,,,,;;;;;,,;,'.......................................',,,,,,;;;,,;,,;;;,,;;;::;;;:c::::;;;;:::;::::;::c::cccccclccccccccccc
.',''',,'',,,',,:;:;;,,'''''................................',,,,,,'',,,,,,,,,,,;;;;:;;::::::::::::::::::::::::::::cccccc:cccccccccllcccccccccc:::ccc:c:c::::::::c:::::;:::::;;;;;;;;,;;;;;;;;;;;;;,,,,''.',;;;:;,,,,'.......................... ..''',,,,,;;,;;;;;,,,,,;;;;;;;;;;;;;;;;;,,,,,;;;;;,,;;'..''...................................''',,,,;;,,;;,,;;;,,;;';;;;;;:;;;;;;;:::::::::;::::::cccccc:cccccccccc
.',''',,'',,,',,:;:;;,,'''''........................ ......'''',,,,,',,,,,,,,,,,;;;;;;;:::;:::::::::c:::::::::::::::ccccc:cclcc:ccccccccccccccc:::ccl:c:c::::c:::c::;::;::::;;;;;;;;;,;;;;;;;;;;;;,,,,,''';;;;;:;,,,,,'......................... .''',,,,;;;,;;;,,,;,;;;;;;,;;;;;;;;;;;;;;;;;;;;;;;;;;,'',,''..................................''',,,;;;,;;;,;;;,,,;',,,;;;;,,;;;;;;;;::::::::;;:::::ccc:::ccccccccc
.''''',,,',,,',,:;;,,',''''................................',''',,,,;',,,,,,',,,;;,;;;:::;;::;:::::::::cc:::::::::::::ccc::ccccccllc:cccccccllcc:cccl:c:::;;;c::;:;:;;;;;::;;;;;;;;;;;;;;;;;;;;,;;;,'''',;:;,;:;;,,,,,'......................... .',',,,,;;;;::;,,;;;::;;:;;:;;;;;;;;;;;;;;;;;;:;;;;;;,'',,','..................................'',,',;,,;;,,,;;;,,'',,,,,,;,;;;;;;;;;::::::::;:::::::ccc:::cccccccc
.''''',,'',,,',;;;;,,'''''.................................'',,,'',,,'''',,,',,;;;,,,;;;;::::::::::ccc:c:::::;:cc:::::ccccccccccccccccccccllclcccccccc::;;;;:::::::;;;;;;:;;,,,;;;,,;;;;;;;;:;;;;;'',.',;;;;;::;;,,,,,'........................ .,'',;,,;;;c:;,,;;;;;;;;;::::;;:::;;;:;;;;;;;;;;;;;;;,,,;,',,''''...............................'',',;,,;;;;,,;;,',,,;;;;;;,;;;;;;;;::;;::::::;;:::::cccccccccccccc
.''''',,''',,',;;;;,,''....................................'.',,,,,,','''',,,',,,,,,,;;;;::::::::::ccc:c::c:c:::::::::cccccc:ccccccc:cllccccccccc:::::::;;;;::::::;;;:;;;;;,,,;;;,,;;;;;;;;::;;;,,,',,,;;;;;;:;;;,,,,,'........................ .,,',,,,;;;:;,,;;;;;;::;;;;::::::;;:::::;;;;;::;;;;;;;,;;;;,,'''''...............................''',,,,;;,;,,;;,,;,,;;;;,,,,;;;;;;;::;;;:;::;;;;::cccccccccccccccc
.''''',,''',,',;;;;,''''''.................................'.''''',,',''''',,,,,,,,;;;;:;::::::::::ccc:c::::::::::::c:cccccc:ccccccc:cllccc::cc:::::::::;;:::::::;;;;;;;;;;,,,,;;,,;;;;;;;;;;;;,',,,;;;;;;;;;:;;;,,,,,'........................ .,,',,,;;;;;,,;;;;;c::::::::::::::;;;;;;;;;;;;:;;;;;;;,;::;;,,,,,''.................................'',,,,,,,,;;;;;;;;;,,,,;;;;;;;;;;:;;::;;;;;;;:::ccccccl::cccccc
.''''',,''',,',;;;;,'''....................................'''''''',,,''''''',,,,,,;;;;::;:::::::::::c:c::::::::c::cc:cccccc:cccccccc:ccc::::::::::::;:::::::c::;;;;;,,;;;;,,,,;;;;;;;;;;;;,,',,',,;:;;;;;;;;:;;;,,,,''........................ .','',,,;:;;;;;:::::::::;:::::::;:::::::::;;;;;:;;;;;;;,,;:;;;,,,,,,'.................................'''',,',;;;;;;:;;,,,,;,;;;;;;;;::;;;;;;;;;;;::;:::::cc::cccccc
.''''',,'',,'',;;;,,'''..'.................................''',''.''''''''''',,,,,,;;;;;;;::;::::::::::cc::::::ccc::cccccccc::::cccc:::cccccc:::::::;::::cc::::;;;;;,,,;;;;;,,,;;;;;;;;;,,,''',,,,;;:;;;;;;;:::;;,,,,''....................... .,,',,,,;;;;;;;::::::::::;::::::;;::::;:;;;;;;;:::;;,;;;;;:;:;;;;;,,,'''................................'.''',;;;;;;;;;,,,;:,;;;;;;;;::;;::;::;;;;::;;::ccc:cc::ccc:
.''''',,''',,',;;;,,'''....................................'''''''','.''''''''',,,,,,;;;;;::::::::::::::c::::::::::::ccc::::::::cccccc:::ccc:;::::::;::;;::;;;;;;;;;,;;,,,,;;;;;;,,;;,,,'''',,;;;;;;;;;;;;;;:::;;,,,,''....................... ..,,',,,,;;;;:;;:::::::::::::;:::;;:::;;;::;;;;;::;;;,;;;;;:;;;;;;;;;,,''..................................''',,,,,;:,,;;;;,,,,;;;;;;;::;;::;::::::::::::cc::c::::ccc
.''''',,,'',,'',;;,,'''......................................''''''''.''..''..'',,,,,;;;;;:::::::::::::::::::::::::::cccc::::::::ccc:c::::c:;:::;;;;;;;;;;;;;:;;;;,,;;;;,,,;;;;;;;,,,'''',,,;,;;;;;::;;;;;;;::;;,,,'''........................ .',''',,,,;;;;;:::;::::::::::;:::;;::c:;:::;;;;;:;;;;;;;,;;:;;;;;;:;;;,,''''.''.............................'''''',;;.';;;,,,;,,,;;;;,;;;;:::;;;;;;;;::::::::::::cc::
.''''',,,'',,'',;;,,'''......................................'''''....''..''.''',,,,;;;;;;;::;:::::::::::::::::::::::ccc:::::::::cccc:::cc::;;::;;;;;;,,,;;;,;,,;;;,,;;;;,,,,,;;;,,'','',,,,;,;;;;;::;;;;;;;;;;,,,''''........................ .''''',;,,;;;:;;::::::;;;;;;;;::;;::;::::::;;;;:;;;;;;;;;;;:;;;;;:::;;;,,,,,''''...............................'''',,'',,,,,,;;,,,;;;,;;;;;;;:;;;::::;::::::::::ccc::
.'''''','',',',;;;,,'''.............................. .......''''''....''...',''''',;;;;;;;:::::::::::::::::::;:;:;::::ccc:cc::c:::::::c:::::;;;;;;;;;;;;,,;;;,,;;,,;,,,,,,,,,;;,,,'';;;;;,;;;;;;;;;:;;;;;;;;;;,,,'''''...................... .''''',;;,,;;:;;;::::::;;;:::;::;;::;:;;::;;;;;::;;;;,;;,,;;:,;;;:::;;;;;,,,,,''...............................'''''',,''',;;;;,,,;;;',;;,;;:;;;;;;::;;:::::::::ccc::
.'''''','',',',;;;,,'''.............................. ......'''''''....''...'''''''';;;;;;;;:;::::::::::::::::;:;:::::::c:::c::c:::::::c::;;;;;;;;;;,;;;,,,,;;;;;;,,,',,,,,,,,,,'.',,;;;;,,;:;;;;;;::;;;;;;;;;;,,,'''''...................... .'''',,,,,,;;;;;;:::;;:::::;::;;;:::;:::::::;;;::;;;;,;;,,;;:,;;;:::;;;;;;;,,;,'''................................''',,'',,,;,,;;,,,,,,;,,,;;:;;;;;;;;;::::::::::cc::
.'''''','',',',;;;,,'''......................... ...........'...'''.....''.'','',,,,,;;;;;;;:;:::::::::;::::;:::;:;:::::::::c::::::::;:::;;;;;;;;;;;;;;;;;;;;;,,,,'',,,,,,,,,;,'.',;:;;;;,,;:;;;;;;::;;;;;;;;:;;,,'''''...................... .'''',,,,,,;;;,;;::;;;;;::::::;;;:::;;;;;::;;;;:::;;;,;;,,;;:,;;;::;;:::;;;;;;;,'''................................''''',,,,,,,;;,,,',,,,,;;:;;;;;;;;;;;:::::::::::::
.'''''','',',',;;;,,'''......................... ...............'''.....',''','',,,,;;;;;;;;:;::;;:::::;::::;:::;:;::;::::::::::::::::;;;;;;;::;;;;;;,;;;;;,,,''''',;,,;;,;,,'''';:;;:::;,;;;;;;;;;;;;;;,,;;;;;;,,'''''...................... .''''',;;,,;;;;;;;;;:;;::::;;;;;::;;:::::::;;;;:::;;;,;;;,;;:,;;;::;;:;;;;;;;:;,,'''''...............................''',,,,,,,,,,,,,;;,,,;;;,;;;;;;;;;;:::::::::::::
..''.'''''',,'',;;;,'''..................................................'''''''',,,;,;;;;::;;:::;;::;;::;;::;;;;;;:::::::::::::::::;:;;;;;;:;;;::;;;;;,,,,'.''''',,;,,;;,''',,,;;;;;;;;,,;;;;;,,;;::;;;;;;;;;;,,,''''....................... .''',,,,,;;;;,;;;:;;:;;;;;;:;;;;;;;:::::::;;:;:;;;;;;;,,,;;;;;;::::;;;;;;;;:::;;,,,,'................................'',,',,,,,,,,,,,,,,,,,,,,;;:;;;;,;,:;::::;;;:::
.'''.'''''',,'',;;,''''......................... ........................'''''''',,,,;;;;;;;:::;;;;:;;;;;;;:;;;;;:::::::::::::::::::::;;;;::;;;;;;,,,,''''''''',;;,,,,,''',;;,;;;;;;:;;;;;;;;,,;;;;;;;;,;;;;;;,,,''''...................... .',,,,,,,,,;,;;;:;;;;;;;;;;;;;;;;::;::;;:;;:;:;;;;;;;;;;;;;;;;;:::;;;;;;;;:::;;;,,,''...............................'',,',,,,,,,,,,,,,,,,'',,,,;;;;;,;,:;:::;;;;:::
.'''.'''''',,'',;;,''''........................ ........................'','''''',,,;;;;;;;::;;;;;;;;;;;;;;;;;::::::::::::::::::::;::::;;;:;;;;,,'''''.'',';,,,;;,,,,''',;:;;;;;;;;:;;;;;;;,,,;;;;;;;;;;;;;;;,,,''''..................... .';',,,,,;;;,;;;:;;;;;:::;;;;;;;;::;::;;:;;:;:;::;;,;;;;;;;;;;;:::;;;;;;;;::;;;;;;;,''................................''',,,,,,;;;,,,,,,,,,,,,,,,,,;,;,:;:;;;;;;;::
..''.'''''',,'',;;;,'''........................ .......................'','''''',,,;;;;:;;;;;;;;;;;;;;;;;::::::::;;:::;;:c::::::;;;;;;;;;;,,,,,,''.'''',,,,,,,;,,,'''',;;:;;;;;;;:;;;,,;;;;;,;;;:;;;;;;;;;:;,,''''''.................... .,,,,,,,,;;;;;;;;;;;;;;;;;;;;;::;;:::;:::;:;;;;:,;,,,;;;;;;;;;:::;;;;;;;:::;;;;;;;,'''............................ .....,,''',;,,',,,,,,,,,,,,,,,,;;;,;;:;;;;;;:::
..,'.'''''',,'',;;,,,''........................ ........................'',''','',;',;;;:;;;;;;;;;;;;;;;::::::::::::::::::::::::;;;;;;;;;,,',,,,'''.',,,,,,',,,,''''',;;:;;;;;;;;;:;;;,,,;;;,,,;;;;;;;;;;;;:;,;;,,,,.'................... .',,,,,,;;;;;;;;;;;,;,:;;;;;;;;;;::::;;:::;;;;;;,,,,,,;;;;;;:::;;;;;;;;;::;;;;;;;;,',.'.................................'.',,,'',,,'',,,,,,,,;,;,;;;;;;;;;;;;;:::
.'''.'''''','',,;;;,'''......................... .. ...................'.'.'''',''';,;;,,::;:;,,;:;,:;;;;:::;;:::::::;;::;::::::;;;;;;;;;;;;,,,,,,''.',,,''',,,''''',,,;;;;;;;,;;;;;;;;,,;;;;,,,;;;;;;;;;;;;;,,,,,','..................... ...',,,,,,,;;;;;;;;;;;;;;;;;;,;;:;;;::;;;;;;;;;;,,,,,;;;;,;;:::;;;;;;;;::;;;;;;;;;;',''.'.................................',,''',,,,,,,'''',';,;,;;;;;;;;;;;;;;::
..''''''''','',,;;;,'''......................... .. ...................'...','''''',;,,;;,,;;;;;;;;;;;::::;;;;;;;:::::;:;;;:;;;;;;;;;;,,,,;;,,,,''''.''''''',,''..',,,;;;;;;;,,,,,,,,,''''''''''''''''''..''..''.......................... .'',,,,,;;;;;;;;;;;;;,;;,,;;;;::;;;;;;;,,,,,,,,,,,;;;;;;;;::;;;;;;;;::;;;;;;;;;;,,','......................... ... .....''''',,,,'',,,'''.,',,,,,;;;;;;;;,;;;:
..'''.''..','',;;;,,'''......................... ..........................'''''''',,;;;;;;,;;;;;;;;;;;:;;;;;;;;;;;;:;;:;;;:;;;;;;;,;,,,,,,,,,,''...'',,'''''........''....'............................................................ . ..',',,,,,,,;,;,;,;,,,,,;;;;;;;;;;,,,,,,,,,,,,,;;:;;,;;:::;;;;;;;;;;;;;;;;;;,;',','.''.................................'''','''''''',''.,',',,,,,,,;;;;;;;;;
..''''',''',,.,;;;;,'''........................ . .... .................''.''''',;,,;;,,,,;;;,;,;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;,',,,,,,,,,,,'...''',,''..'.......................................................................... ... ..''',,',,,,;,,',,,,,,;;;,,,;,;,,,,,,,,,,,',,;;:;,,;;;::;;;;;;;;::;;;;;;;;,;,;,,'','....................................''''''''..,'''''''',,,,,,,,;;;;;;;
..''''','.'',.,;;;;,'''........................ .... ..................''',,'',,,,;;;;;;;;;,;,;;;;;;;:;;;;;;;;;;;;;;;;,;;;,,,,,',,,,,,,,,''....'',,,'.............................................................................. .................'''',''',''',,,,,,',';,,,,,,,,''..'',,,,',,,;;:;;;;;;;;;::;;;;;;;;;,;',',;,'''..................................''''''''..'''''',',,,,,,,,,,,;;;;
..'..',,''',,.';,,,,'''.......................... . ... .......... .......''',,''',,,;;;;;;;;;,;,;;;;;;;:;;:;;;;;;;;;;,;;,,;,,'',,',,,',,'','...''',,,'................................................................................ ..........'.............'''''''',,',',',','''''................''''',,,,;;;;;;;;:;;;;,;,;,,;,''''..'..............................'..'''''......'''',,,,,,,,,,,,,;;
..''''',''',,.,,,,,,'''.......................... . . .......... .......'....'''''',,,;;;;;;,,;,;,;;;;;;;;;,;;;;;;;;;;;,;,,,,,'''',',,'''''.'...'''''''.............................................................................. .. .....'''..'''''....................'''.'...................................'''',,,,;;,;,;,,;;,,,''''..................................''''.......'''',,'',,',,,,,,;
..'''.''''''''',;;,,,''..'........................ . . .... .......''''''''''',,,,,,,,,,;;;,,;;;;;;;;;;;;;;;;;,,,,,''''..'''','''''''....'''.'.... ............................................................................ ..'....'...'........'.'','.......'..''.................................................''',,;;,,,,'','......................... .......'''..........''''''''''''',,,
..'''.''''''''',;;,,'''..''...................... . . . .. .......''''''''''''',,,,;;,,,,;;,,;;;;;,,,;;,,;,,,,'''''..'''''''''''''..'...'''...................................................................................... ..'''.'''''''....'''''''''.'''..'..'...........................................................'''''...................................''.............'....''''''''
..'''.''''''''',;;;,''''.''...................... . . . . . .......''','''''',''''',,;,,,,,,,,;,,,,,,;,,,;;,'',''.....'''','''''''''''..'''........................................................................................ ..,'...'''''....''',,'''''.,'''''.''.............................................................................................. ........'...................''''
..'''.'''''''.',;;,,,','.''...................... . . . . .......''''''''''''''''',;,,,,,,,,;,,,,,,;,,,,,,''''...'''''''''''''''.................................................................................................. .,''''...''...'''.''.'''',,'''',.'.............................................................................................................................'''
..'''.''''',''',;;;,,'','',...................... .... .......'''''''''','''.'''',,,,,,''',,,,,,,,'''''..'...''',''''''',.'..................................................................................................... ..''''.''.....'''.''..'',''''''''...............................................................................................................................''
.......... ..'''.'''''''',,;;;,,'','',...................... ...... . ...........'',,''''','''''''.''',,,'''',,,'''''.........''''',,''''........................................................................................................... ...'''.''''''',''''.''''...''''..................................................................................................... ...........................
',;;,,,,',''........ ..''..''''''''',;;;,,,','''..................... ...... .....''..'','''''',''''''''''''''.''''''..'............''''''''.............................................................................................................. .''''..''''''',','''''.''''.......................................................................................................... ........................
::cc:::c:::::;;,,''''. ...'..''''''''',;;,,','''''.'.................... ........ .......'..''''''''',''''''''''',''.''..''...............'''.''................................................................................................................. ..'''..''''''',','',''.,'................................................................................................................ ...................
lccccccccccccccccccc:;''... ...''.''''''''',;;,,'','.'..................... ....... ...........''.'''''''''''''''''''''.'..............'.'''..'..''................................................................................................................... .'''.''',,,'',,,,'''''.................................................................................................................. ..................
lllllllllllllllllllllccc:;,.. ...'..''''''''',;;,,''''................................. ...........'''.''''..'''.''''',''''.''...........''''.''.......... ................................................................................................................. ..',''''''''''','''.................................................................................................................... . . ..............
lloooooolllllooooollllllccc:,'.. ...'..'''''''.',;,,,'''................................... .............''...''..'.....'''''''''''..........'''',.''............................................................................................................................. ..'''''''''',,,,'....................................................................................................................... ..............
oooollccooooooooloolooollllc::::,. ...''.'''''''.',;,,,'''.................................... .............................'.'''''.'........'..''..'.''.... .. ............'.......''''..'''''.'.'.'''''''''''..'''''''''''.'''''''.''.''..''''''...'.......''''...'........'.''....,..... ...........''............................................................................................................................ . ............