xxxnnnnnnnnnnnnnnnnznnnnnznzznnnnnzznnnnnnnnnnnxxxxxxxxxxxxxxxMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMxMMMMxxMMxxxxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMn#
xxxnnnnnnnnnnzznznzzzzzzz####++*ii;;;;::::;`  ``...,,,,,:::::::::::::::i#zznnnnnnnnnnnzzzzz########zzxMMxxMMMMxMxxxxxxxxxxxMMxxMMMMMMMMMMMMMMMMMMMMxz#
xxxnnxnnnnnnz+*#+++++++****iii;:,,..`     .  `.,,.......,,,,,,,,,,,,,,,;iiiiiiiiiiii;:,`````.,,,,:::;xxxMMMMMxxxz#nz#+***+*;;;:;*iMMMMMMMMMMMMMMMMxxzi
xxxxxxnnnnnnnn+**,:::*:,,::,;;:,:,,..,    . `:::;;.......,,,,,,,,,,,,,,;iiiiiiiiiiii;;;,...,,,:::::::nxxxxxxxxnnz*#+:.i***;`.:*xx*MMMMMMMMMMMMMMMMxz#,
xxxxxxxxnnnnnn+*iiiii+;;***;i;::::,``.    . ,;;;ii.`......,,,,,;i,,,,,,;iiiiiiiiiiiii;;;:::*+#+;;;i*+xxxxxxxnznnn#;+i;::ii;::;*#n+xMMMMMMMMMMMMMMxx#*.
Mxxxnxxnnnnnnnnnz*::+##zz##++*ii;;,```.   . ,::::i```.....,**:,ii:,,,,,;;;iiiiiiiiiii*#z*;;#nxn#zxnnnxxxxxxxxn#nzn+i**i;ii;;;izxxznMMMMMMMMMMMMMxxz#:.
xxxxxxxnnnnnnnnnz,..*#######+***ii;.``,`  , `:;;i,........,::;;,..,.,,,;::;iiiiiiiiii#xxz;i+zzznxxn#+nxxxxxxxxz#zzn**iiii;;;;+xxMnzMMMMMMMMMMMMxxxz+..
xxxxxxnnnnnnznnz*:``...,:i+#+i;*+*::;..```,  `..i+*+++,...:::;:,,.``,,,:::;iiiiiii;i;iixxxx*#znzznnnnz++#nnxnxn+**z#,.,,::,;znnMMMxMMMMMMMMMMMMxxz#;..
xxxxxxxnnnnnnn+i:``...`.`.*#+;,.***+i:,.``,  ```i+;+##.....,;;;;::.`,,,:::;;iiiiiii***;nxzn*#+**;*znzz+#+#n#*znz;:+n;.....,*zzxMMMxMMMMMMMMMMMxxx##...
xxxxxxxnnnnn#.....``i;:;:;##+i:.`::;,i*,.`,   ``i+i*++.`...,:,,:,,..`,,:;;;;;ii;*+#++#*zxnnnxzzzzz###z#+**#+*+nn*;*nz:,:,,,i;z#xMx#MMMMMMMMMMxxxn#i...
xxxnnnnnnnnnz;.:.,..,:i,`.###++i:..:::i:..,   ``i+*i++.`...,:::,,,,..:,:;;;iii*i++++**;i##**i******+;###*+#++*zx#*izx*:,,,,;*n+nMMnxMMMMMxxxxxxx##.`..
xxxxxxnnnnxnn+.,.:....:``.#####*ii*;,.i;;;,  ```i++*++``...,,,,,,,,,:+::;;;ii*i+##++++**##++*ii;;;;::i#z+*#*#++xn*i+nz;:,,,,:#+;xM#xMMMMMMxxxxxn#i````
xxnxxnnnnxxnz:..::`,;`.,i*zzz#+;:+##+;;*++i:````i##+**..;,....,..,,,*#,:;;;;i*+####+#+#*+#++#+*i;;;;:i##+*+*++*nn*;*zz+::,,,,,;,#M#nMMMMMMxxxxx##,```.
xxnxxxnnnnnn*;;;**iii`.i;;#zzz+i,,*###;i+**i.```.;*i:.`.:*......,,,,##,:;;;;i*#z+#+*+**++++*+++*;;;;:izzn**z+++zz+iizzz*:;;::,::;xznMMMMMMxxxxn#*`````
xxxnnxnnnnnzn#i;;+n*;`;*;*#zzz###***#;*;++ii,````:;;;```.;,....,.,,,++::;;;;;i*+*+*iiii**iiiii*#+;::;izzx+++*##+nn#i+n#n:;;;;:;z;znnMMMMMxxxxx##:`````
xxxxnnnnnnn#:::,,,::.,;``:,*zzz#+++i*.,+##`:;````i;::```,;i;...,*+*++++*;;;;;i;;ii*;;;i;;ii*+#+++i::;;+nx+ii*ininn#++nxx;;iii;;n+#xxMMMMMMxxxn#+``````
xxnnxnnnnnn* ,,..` `.;;```,*zz##+i;+i `i++  i````,,::``.;ii*:..i####++z+;;;;;;i;;;;;;;;;;ii;+##+#i;;;;;#+ii**i#izxz#*+xz;i+xziinxznnMMxMMxxxx##;``````
xnnnxnnnnnn;```````.;*#..`,+######;i, `:++ `i.```:,::``:ii;i;.,;#####+##;;;;;;;;;;;;;;;;;;i;i+###*;:;;zx#+++#*i;+nn+**#zi*nxzz*zMnnzxMMMMxxxn++.``````
xxxxxnnnnnnxn+;;+nz++zz,,:+z##z####i```i+* `..``.,,::`.;i;ii*;:,##;i*+++;;;;;;;;;;;;;;;;;;;;;i+###i:;;nxxnnnnznz#z##**##*#xxxx#nxxnnxMMMMxxx#+;```````
xxxxxnxnnnnxx#*#nx#i+z+`.,+zzzz###+.`.:++*``````,,::;`,i*+++++i,+:..,*i#;;;;;;;;;;;;;;;;;;;;;i+##++;;;zxxxxxxxxnnn#znzzz#zxxxxzxxxnnxMMMMxxx#+:```````
xxxxnnnnnnzMxxzz#zz*++;.,:zzzzzz#*,.:*+##i `````,:::..i::,,.:,:,i....,;#;;;;;;;;;;;;;;;;;;;;;;*i#+*;;;#nnnnxxxMxnz#zz#z#zzxnnxxnxn#nnMxxxMxxxn#i,`````
xxxxxnnnnnzn#+z##zzzzi.*iizzzzzz#::;+####;   ```;i:;.;;,:.`.,.,,:.....:+;;;;;;;;;;;;;;;;;;;;;;iiiii;;;+xnnnxxxxxxznzzz#nzzxxnzzzzzzzzxxMMMMxxxxn#*:.``
xxxxnnnnnn#nnz###nnnz::z;izzzzz#*;*#zzz##;.:::,`::;;,,;::.`..,..;..:;i;*;;;;;;;;;;;;;;;;;;;;;;;ii;;;;;+xxxxnnnxMMxMMxzzz#+*****iiii**xMMMMMMMMxxxxz+;.
xxxxnnnxnnz#zzz#zxnn*,#zzizzzz#+*+*#++z##::::ii::::;,,,.:::,....,.,:;::i;:::::::;;;;;;;;;;;;;;;;;;;;:;+MMxxxxxxnzz#####zzi*****;i;:*+nMMMMMMMMMxxxxxz+
xxxnnnnnnz*#######zz;*zzzzzzz+*++*#zz+##+,`````.::::...`.`.............,::::::::::::::;;;;;;;;;;;;;;;:+Mxxnzzzzzzzznzzzz+:ii;;i;;;:i+zxMMMMMMMMMMxxxxx
xxnxnnnnn#`,```.`,zz:#zzzzz#*+##zz####*#+,``````````````````...........,::::::::::::::::::::::::::::;;izznnnzznzzzzzz##;i*++##;**;:;i+xxxMMMMMMMMMxxxx
xxxxnnnnn#;;:::::i+++++++++i;+########*++;,,,,,,,,:::::;;;;;;;;;;;;;;;;ii;;;;;;::;;;;;;;;;;:;:;:::;;;;innnnnnnnnnzzzzzz+##++++i***ii;*xxxMMMMMMMMMMMxx
xxxxnnnnn*````````````````````i+++++++++#xxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMxMMMMMMMMMMMxnxnnnnMMMMMMMMMMxz++++++++++*****iiiiiiiiiiiiiii+xxxxMMMMMMMMMMMx
xxnnnnnnn;```````````````````.*+++++++++#xxxxxxMMMMMMMMxxxxxMMMMMMMMMMMMxMMMMMMMMMMMMnxzznnMMMMMMMMMMM#;;;;;;:::::::::::::::::::,,.`,ixxxxxMMMMMMMMMMM
xnnnnnnnn:```````````````````,*++++++++++xnxxxxMMMMxnnxnzxnxxxxxxxxxnnnnxxMMMMMMMMz#xxxxxxxMMMMMMMMMMM#;;;;;;;:::::::::::::::::,.,,,.;nnxxxxMMMMMMMMMM
xnnnnnnnz.```````````````````.i*++++++++++z#+nxxxxnzz++#++z+znxxxnzz+*+nxxMMMMMMMn#z#zzMMMMMMMMMMMMMMMz;;;;;:::::::::::::::::::,..,,.:nnxxxxMMMMMMMMMM
nnnnnnnnz`````````````````    `;*++++++++#+n+##nn#+**n+n#+#z*z#xz#+*##+xxxMMMMMMMz+z++#+xMMMMMMMMMMMMMn;;;;;;;::::::::::::::::,,`...`,znxxxxMMMMMMMMMM
nxnnnnnn#``````````````````  ``.*+++++++zxxx#z####z+zxxxxxxz#z*z#+z+xxxMxxMMMMMMMz#nz#+#+MMMMMMMMMMMMMn;;;;;::::::::::::::::::,,`.,..,+nxxxxMMMMMMMMMM
nnnnnnnn+```````````````..`````.*+++++++zxxxxn+*#+xxxxxxxxxxx#*+*zxxxxxMxxxMMMMMMn+nxMnz++Mn#xMMMMMMMMx;;;;;::::::::::::::::::,,.`,,.,*nxxxxMMMMWMMMMM
xxnnnxnni```````````````..`````,*+++++++nxxxx##z#*nxxxxxxxxxz+##++zxxxxMxxxMMMMMMn*xxnMMx***+*nMMMMMMMx;;;:::::::::::::::::::::,.....,inxxxMMMMMMWMMMM
xnnnnnnn:```````````````..`````i*+++++++nxxx####++#nxxxxxxxn#++#++*xxxxMxxxMMMMMMz*#nxxnxznxM#+MMMMMMMxi;;:::::::::::::::::::::,..,.,,;nxxxMMMMMMMWMMM
xxnnnnnz,```````````````...``.i**+++++++nxxn#*xxx#izxxxxxxxz*+xxn+inxxxxxxxMMMMMMx*+znxxxnnxxx*MMMMMMMM**;;;;;;;;;i;:::::::::,,:,`,.,.:nxxxMMMMMMMMWWM
xxnnnnnz`````````````````...`,;;i+++++++xxx+++xxx**#xxxxxxn*+#xxzi*+xxxMxxxxMMMMMx*zznMxMxxxxxixMMMMMMM**i;;;;;;;;i;::::::::::,,:`.,..:zxxxMMMMMMMMWWM
xxxnnnn#````````````````````````:+++++++xxn#nxxxxx#*zxxxxx#zzxxxxn+;nxxMxxxxMMMMMx*znxxxMnzznx*nMMMMMMx#*ii*+*;i**++;:::::::,,:,,..,,.:#xxxMMMMMMMMMMW
xxxnnnn+````````````````````````:++++++#xxn+*nxxxx**nxxxxxz**xxxxziinxxMxxxxMMMMMx*nxxxxxxnnzx+#MMMMMMx+..:::;;,,,,.:::::::::,,,,.,,,.,*xxxMMMMMMMMWWM
xxxxnnni````````````````````````.++++++#xx#+#xxxxx#+zxxxxx++#xxxxx++zxxMxxxxMMMMMM+xxxxxxzzzzxz+MMMMMMx+:i:i*#******;:::::::::,,,..,,,,ixxxMMMMMMWWWMM
xnnnxnn;`````````````````````````i+++++#xxz#nxxxxn#*zxxxxxz+nxxxxz+izxxMxxxMMMMMMM+xxxxx#++#znn*MMMMMMxz:**,;####+*#i::::::::::::,.,,,,;xxxMMMMMWWMMWW
xxnnnzz,```````````````.`````````:+++++zxxz*+xxxxz*+nxxxxxz*+xxxx#i#xxxMxxxMMMMMMx+nxxxxxnnnxxxixMMMMMxz:::::+;*++i+*::::::::::::,.,:,,:nxxMMMMMMMMMWW
xxxnnnz.````    ```````.`````````.+++++zxx++nxxxxx##xxxxxx#+nxxxxx##xxxMxxxMMMMMMxinxzxxxxxxMxx*nMMMMMxn,,;*:i+z#+;++:::::::::::::..:,.:zxxMMMMMMMMWWW
xxxnnzz.   ```````````..````````.`i++++zxx##i#xxn+*+xxxxxxz#*#xxx+++xxxMxxMMMMMMMx+xn*#xn###znx+#MMMMMxx,;;#++++z+;++:::::::::,,::.,::,:#xMMMMMMMMWWWW
xxxxnnz*,   `````````...```````..`,++++zxxn+*#xxzi*nxxxxxxx#+zxxn*+nxxxMMxMMMMMMMnzx#n+xx+*+#zx#+MMMMMMx:,*;#z*#z*;*+;:::::::::,::,,::,:*xMMMMMMWWWWWW
xxxnnn#*i`  `...`````...```````....**++zxxx++#z##+#xxxxxxMxz##z#z#zxxMMMMMMMMMMMMzzx#nn+xx+zz#nnixMMMMxx:,i:+zzz#*i;i;:::::ii**;::,,:,::ixMMMMMMWWWWWW
xxxxnn#**;` `..,````....```````:,..;:,,#xxxz#i**i*nxxxxxxxxxz+##++nxMMMMMMMMMMMMMzzx#zxzzxn++#nxixMMMxMxi:;iiiii;;;;;::::::*;;;:::,,,,,:;MMMMMMMWWWWWM
xxxxnn+***,`````````....```````:,..,...zxxxx#;+**nxxxxxMxxMMx*z+#nMMMMMMMMMMMMMMMzzxz#xx#xx#*+zxizMMMMMx*;;;;;;::::;:::;::i+*i;::::,::::;xMMMMMMWWWWWW
xxxxnn+****`   ``````..````````::......nxxnnz*+;*xxxxxxMMMnnxzz+#xxMMMMMMMMMMMMMMzzxz+xx#xxn*+#x+#MMMMxx+;;;;;;;::::::::;:i++*;::::,,:::;zMMMMMMWWWWWW
xxxxxx*****;  ````;;:..```````.:;,.....nxzi+i++i*iixnzxxnx+###nz#++nxznMMMMMMMMMMzzxz+xxx#xx#znn+*xMMMMx#;;;;;;;:::::::::;i+++i;:::,:,,:;#MMMMMMMWWWWW
xxxxxn******.````:ii:..```````.:;,....,*#+*;*+nz**izi+z+#z#+#zxxzz+z+*zzMMMMMMMM#i#xz+xxx#znzi+++#MMMMMx#;;;;;;::;::;:;;;;i#znz#;;:,::::;+MMMMMMMMWWWW
xxxxxz******;```.i*i:,.`````..,:;:,...,**+#znxxxxn*+#*##++znxMMMxxz#z#+nMMMMMMMx*+###+xn*i#xxninMMMMMMMMz;;;;;;;;;;;;;;;;;i##zzz*::,,,,::iMMMMMMMMWWWW
xxxxx#******:```;i***:,.`.,..,::::,,..:nzzxxxxxxxxxxnxznxxxMMMMMMMMMxxnxxxMMMMMMxnnnnxx++##z#zinMMMMMMMMn;;;;;;;;;;;;;;;;;::;;i;::::,::,:;xMMMMMWWWWWW
xxxxx#*******;,:*****,,...,...``.::,,.ixxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMz#MMMMMMMMMMMMMxnnnnnnxMMMMMMMMMn;;;;;;;;;;;;;;;;;;;;;;;;:::,,,,,;nMMMMMWWWWWW
xxxxx++++++++++++++++,,..,,.....,:::,,*xxxxxxxxxMMMMMMMMxxxMMMMMMMMMMxxMnnxxxxxxxxxxMMxxxxxxxxxMMMMMMMxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::zMMMWWMWWWWW
MxxxxxMMxxxxxxxxxxxxxnnnznnnnnxxxxxxxx**+zzzzz######zznnnnnnxxxxnnnnnnxxxxn#xxxxx##nxx;:::,,::::::::::::z#######zzzzzzzzzzzzzzzzzzzzzzznnnMWWMMWWWWWWW
xMxxxMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxx#,,i+++++;i;i;i#nnzz#i*zxxn+#zzz#zxz+*+xxxnn#inxz:,,,,,,,,,,,:,::::#MMMMMMMMMMMMMMMMMMWWWWWWWMMWWWWWWWWWWWWWWWWWW
MMxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+,:i+++++iiiiiizxxxnz++zz####zz#+#x#nznx+i;:;;zz#i:,,,,,,,,,,,,,,::+MMMMMMMMWMMMMMMMMWWWWWWWWWWWMMWWWWWWWWWWWWWWW
MxMMMxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxx+::*+++++iiii;;#nznnnzz#+n+#zzzzznx+zxnx*::::iz#zi*;,,,,,,,,,,,,,,:*MMMMMMMWWWMMMMMMMWWWWWWWWWWWWWWWWWWWMWWWWWWWW
MMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+:i*+*+++i;;;;*zz#xnxzzzzn##z##zzzx+i*i*::::::*z*:::,,,,,,,,,,,,,,,iMMMMMMMMMMMMWMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMxxMxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxn#*++**++i;i;i*nn#z##nz#####z+#zzzx*;;::::,,,:*:,,,,,,,,,,,,,,,,,,,;MMMMMMMMMMMMWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMxMMMMMxxxMxxMxxxxxxxxMxxxxxxxxxxMxMn###+*****i***;zz#zzz#zzzzzzz#zznnx*;:::::,,,,,,,,,,,,,,,,,+nn+,,,,:MMMMMMMMMWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMxMMxxxMMMxxMMxxxMMMMMxxxxxxxMxM###+**i;*####+:*#zzz#+##zz+##zz#znx+;:::::,,,,,,,,,,,,,,,,+xxxxi,,,:xMMMMMWWMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMxxxxMMMxxxxMMMxxMMMMMxMMMxxxxxMxxM####*iii*####z++##*###++#++###z##zx#;;::::::,,,,,,,,,,,,,,#xxxx+,,,:xMMMWMMWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMxxxxxxMxMMxxxMMMMMxMxxxxMxMMxxxx++#z*;;;i#####zzz++*####z++###z*+zxn;;;::::::::,*+::::,,,,#xxxxi::::nMWWWMWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMxxxMxMxxxMxMxMxMMMxxMxxMMxMMxMMMz+#++i;;;+###zz###+i*zn###+++##*+zxx*;;;::::::::znn;::::,,#xxxxz+*::nWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWW
MMMMMMxxxxxMxMMxxMMMMMMMMxMMMMMxxMMMxzz+++*iii++##z#i+z+**+#znn#+++###zxx+iii;;::::::;#nn*::::;nxxxxMxxnizWWWWWWWWWWWMMWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWW
MxMMMMxxxxMMMMMMMMMMMMxxMMxxMxMxMxxMx#+*++*i**+#####*#n#+ii++###+*####zxx#***ii;;;;;;:;;+x#;::nxxMMMMMMMxzMWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMxxxMMMMMMMMMMMMxMMxxMMxxMxMxMn*+++#+*#+++###znn#xn+:i;+z*i+####zxx#+++****iiiii;i+nxn*ixMMMMMMMMMMxWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMxxxMMMMxMMMMMMMMMxxxMMMMMMM#*i+#zz++#+#zz#nxnnxxx#zz#*++##+++zxn#+#++++#***iiii*nnzxzxMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMxMMMMMMMMMxxMMMMMMxxxxMMMMxn**+zz#+++#+#znxxnxxxxnnz++++##z##zMxzzxzxx#xnzx+;;;;*x++xxMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMxMMMMMMMxMMxMxMMMxMMMMMMMMMMn*i#+#+++####nnnnnxnxxxxzn+++##z#zzMMxxxxxxzxxxx#i::::#xzxxMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMxMMMMMMMMMMMMMMMMMM+i**+#++#+#+#znnnnnxxxnn#+*++##z+zzMMxxxxxxxxxxxxx+;::ixMMxMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMxMMMMMxxMMMxMMMMMMMMMMMMMM*****++*+++**z#nnzzzxnnn#***+####zzMxxxnnxxxz*#z*zz**;;zMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMxxxMMMMMxMMMMMMMMMMMMMMMMMMM**;+++***ii+##znnnnxxnnnz****####zzMxxn#zxnxn*******n*+*xMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx;:;+++**;i++*+nzxnxxxnxnn++*+#z###nMxxxxx#+zn+**++**zxxz+MMMMMMMMMMMMnxWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMn:i++##+ii*i**+znxnnnnnxnn##*+#zzz#nMxxnznzzz#++*z#+++nMMzMMMMMMMMMMMMxxWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMWMWMMMMMMMMMMMMMMMMMMMMMMMMMn;*+##*+++**++z#nxnnnnnnxn+**#zzzz#zMxx##xxxxzz+n#nn#++xMMMMMMMMMMMMMMMxWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMWMMMMMMMMMMMMxMMMMMMMMMMMMn*+*#**+***+++nzxxnn#:*nz+i*+###zn#zMxxxzxxxxxxnxnnxxz#nMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMWMMMMMMMMMMMMMxMMMMxMMMMMMMMn+i*ii*iii;i+zzznxnnn*;zzzz+###++z#zMxxnxxxxxxxxxxxxxMxnxMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMMMMMMMMxMMMMMMMMMM#***+*ii*+++z+#zz*znx**zxnn#+##*i#zzMxxxxxxxxxxxxxn#zxMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM#i**#ii**++#####ii#nx+zxnnxxnz###z#zMxxxxxxxxxxxxxxnznxMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM#*i##*;i*#+#*##*ii+znnxxxnxxnzz##z#zMxxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW