OOOOOOOOOOOOOOOOOOOOOOOOO000000000000000KKKKKKKKk;:;;cxxxoxo:;,:dKKKKKK00000000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00KKKKKKKK000000O0OOOO
OOOOOOOOOOO0000000000000000000000000000KKKKKKKKKk',;clkxxdxd:,,;cl0KKKKK0000000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00KKKKKKKKKK0000000OOOO
0000000000000000000000000000000000000KKKKKKKKKXXk:cc:ckkkdxdl::,cccOKKKKK000000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO000KKKKKKKKKKKKK0000O0000
00000000000000000000000000O0000000KKKKKKKKKKXXXXO,,:clkkkdxxl:,,cc:,dKKKKKK00000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO00000KKKK0000000OOOOOOOOOO
000000000000000000000000000000000KKKKKKKKXXXXXXXk;clcckkkdxxc;:,ccc':0XKKKKK0000000OOOOOOOOOOOOOOOOOO0OO000000000OOO00000000OOOOOOOOOOOOOOOOO
00000000000000000000KKKK000KKKKKKKKKKXXXXXXXXXXNO,;:clxxkxdxlc:,ccc,:KXXKKKKK000000000000000000000000000000000000OOOOOOOOOOOOOOOOOOO00OOOOOOO
KKKKKKKKKK00000000KKKKKKKKKKKKKKKKXXXXXNNNNNNNWNOccllcxxxdodc;;;ccc,;KNXXXXKKKKK00000000000000000000000000000000000OOOOOOOOOOOOOOOOOOOOOOOOOO
KKKKKKKKKKKKKKKKKKKKKKXXXXXXXXXXXXXXXXXNNNNNNNNN0;;:llxxdoloc:c,cc:,;0NNNXXXXXKKKKK000000000000000KKKK00000000000000OOOOOOOOOOO00OOOOOOOOOOOO
KKXXXXXXXXXXKXXXXXXXXNNNNNXXXXXXXXXXXXXXXXXXXNNN0lccccddddloc:;'cc:,;0NNNNXXXXXXXXXXKKKKKKKK000000KKKK00O00KK0OOOOOOOOOOOOOO0K00OOOOOOOOOO000
XNX0OO0OOkkXXXXXKxdlckXK0XXXKKKXXXXXXXNNNXNNNNWW0cclooxxkxodlcc::c::lokxlooOXNNNNNXXXXXKKKKKKKKKK000OOOO00KKK00K0000000000KK000OOO000000KKKKK
c:''..','';:llc:;,,';dd;,;;;'dcoxNWNNXXXXXNNNNNWKoodoodxxool:l;l;lco;odo,:c:lKWNNXXXKKXXXXXXXXXK0000000KKKXKXXKKKKKKKKKKKXKKK000000KKKKKK0K00
'''''''''''''''.'''.'::,'......,oOkkXNNXXXXNNNNN0xkkkx:c;o;l,x,o,x;o,oxd:ccccONNNNNNNNWWWWWNNXXKXXXKKKKKXXXKKKKKKKKKKKKKXKKKKKKKK0Okxdoc:;;,,
.........'...........''.......;:::cxKNXXXXXXXNNNKoddxd:c:d:o;x:d;x:d;dkkccccckWWNNNNNNNNWNXK00OOOOkKKKKKKKKKKKXKKKKKKKKK0kdl:;,'.............
................''..............,;:llld;clcox0XNKdxxkxclcdcd;kcx:kcd:xOOlclllxNNNXXXXXKK0OoddllooooOKKXXXXKKKK0Okxdolc;'.....................
...................'........''.......''','.';:d0KdxkOklolkoxcOckcOoxlxK0dlollx00kkOOKNdooldkxxxxxxoxxdolc:;,'................................
......'..............................'......';clodOO0OldoOod;c;l;c;;,:c:,.........''',;;,'dxo:,,,........................ ... .......''...
...........''.'''.............',,,;;;;;,'....':ddlooo:;:,:...........'''..........''',,'''....................................''''''....'''..
............''.'''''.........',,,,',,,,;,,'....'..'';'.....................',,''''...''',,,,,;;:::::cko:::::ccccccccccccccc:::::;:::,',''',,,
;,.. ..':;,,...'.';......... ......................'',,,'''....',',::::;,,,;;,''''',,;;;;:cccccccccccdl;;;;;;;;;;;;;;;;;;,,,,,,,,,,,'''''''''
,:c:..,::;'.. .....................',,,,,'',,;;:clcccc::;;::c::;,'...........................',,,;;''''''''''''''...'.''''''''''''''''''''.'.
.........'''';;,,,,,,,;:::::cccccclllllcc:ccccc:;;;,,,;,,,,,...... ... ...'','''','''''''''''''''''''''''''''''''''.
cccclllloollollllolccccllcc::clllllccclccclc:,'''',,,,;;;;;'.... . .. ...............',,,,'''''''''''''........................
cccccc::::::::::;;::::::c::::ccllllcc:::;;;;,'..',,,;;,,,,,,,,,,,,,,,,,,,,,;,',,,,,',,,,,,;,',,,,,,'','''''..................................
::c::ccccclcc:;;;;;;:;,,,,;clolcccclcccc:::ccccccllloo;;;;;,,,;;;;;,;;;;;;;;,,,,,,,,,,,,,;;,';;,,,,,','''''''''..............................
cllllloooooloolccccllcclllooodddddddoooooooooollllllcc;;,;,,,;;;;;;;;;;;;;,,,,,,,,,,,,,,,,,'',,,',''''''''''...'.............................
llllllllllllllllllllllcccccc::::::::;;;;,,,,,,'''''''.',',,'''''''''''''''''..'..''.'...''''.'.'.............................................
,,''''''''............................. ..............'''''''''''''''',''''''.'''.''''''...................'..''''''''''''',,,,;;;;;;;:::::c:
....................................... ..............'''''''''',,,,',,,;;;;,;;;;;;;;;:::::::::::ccccc::::cccccccccccccccccccccc:cccccccccccc
'...................................... .........'''',,;:;::c:::cccc:cccccccccccccccccclllclcccccllcccccccccccccclclclclllllllclllllllccccccc