:::,,,,,,,,,.....................``.```.`````````````````..`````.:zxxMMMMMWWWMMMMMxni,`````````````````````........................,,:++#+++*i*iiiii**
,:,,,,,,,,.....................``````````````````````````..````.izMMMMMMMMWMMMMMMMMxn#;.````````````````````````...................,,:+++++**iiiiiii**
,,,,,,,,,,...................````````````````````````````..````ixMMMMMMMMMMMMMMMMMMMxxn;````````````````````````````................,:*++++*iiiiiiii**
,,,,,,,,,...................`````````````````````````````..```,zMMMMMMMMMMMMMMMMMMMMMMxz;.`````````````````````````.................,;******iii;;iii**
,,,,,,,,,.....................```````````````````````````..``.#xMMMMMMWWMWMMMMMMMMMMMMMxn,```````````````````````....................;*++**iii;;;;;i**
,,,,,,,,,.....................````````````````````````````.`.+xMMMMMWMWWWWWMMMMMMMMMMMMxx#.`````````````````````````................,;******ii;;;;iii*
,,,,,.,,.....................`..``````````````````````````.`ixMMMMMMMMWWWWWWMWWMWMWMMMMxMn*`````````````````````````................,i*****ii;;;;;ii**
,,,,,,,,...................`..````````````````````````````.,nMMMMMMMWWWWWWWWWWMWWMMWWMMMMxz:````````````````````````................,i****iii;;;;;iii*
,,,,,,......................``````````````````````````````:#MMMMMMMWWWWWWWWWWWWWWMMMMMMMMMx+`````````````````````````...............,i****ii;;;;;;iii*
.,,,,............................`````````````````````````*xMMMMWWWWWWWMMWWWWMWWWMMMMMMMMMxn,`````````````````````..................,i****ii;;;;;;;iii
,,,,,,......................``````````````````````````````zMMMMMWWWWWWWWWWMWMMWWWWWMMMMMMMxxi```````````````````````................:*****ii;;;;;;;iii
,,,,,........................````````````````````````````,xMMWWMWWWWWWWWWWWWWMMWWWWMWWMMMMMx#.````````````````````````..............:*****ii;;;;;;;iii
.,,,,.......................`````````````````````````````;MMMWWWWWWWWWWWWWWWWWWWWWWMMMMMMMxxn:`````````````````````.`...............:****ii;;;;;;;;iii
.,,,...........................``````````````````````````+MMMWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMxx;`````````````````````..`..............;***iiii;;;;;;;iii
.,,,,,,...................``..```````````````````````````nMMWWWWWWWMMMMMMMWWWMMMMMMMMMMMMMMMx*`````..`````````````````..............;iiiiii;;:;;;;;iii
..,,,,........................``````````````````````````.MMMWWMMWMMMMMMxxMMMMxxnnxMMMxn*i+nMx#.````ii;,``````````````..............,;iiiiii;;:;;;;;iii
..,,,.........................`..```````````````````````;MMMMMMMMMMMMMMMxxMxnnnzznxxnz+*i;:i#z,````i#+*;.``````````..`.............,ii*iii;;;::;;;;;i;
,.,,,,.,.....................```````````````````````````iMMMMMMMMMMMMMMMxxxxnzzzzzzz#####+*i**;:,,.:z##+*;,.``````````.............,iiiiii;;;;;:;;;ii;
,.,,,,,,,..................``.``````````````````````````iMMMMMMxMMMMMMxxxxnnz#++**iii+#z#######*i;;;*#nzz#i;;,.```.................,iiiiii;;;::;;;;i;;
,..,,......................`..``````````````````````````iMMMMz*zMxxMMMMxxxnnzz#++*:,:;*#z##znnnzzzznnznxxn#+**i:,..................,iiiiii;;;;:::;;ii;
,..,,,,....................`````````````````````````````iMMn+::i#i;:#xxxnnnz#+**i******++*iizxxxnxxMxxxxxxnnnz+ii;:,...............:iiii;;;;::::;;;i;i
..,,,....,...................```````````````````.,,..```:xz***i***;,ixxxxnnnzz#+i*#++##znnzzzxxMMMMMxMMxxxxxxnnz#*i;:..............:iiii;;;::::::;;i;i
..,,,,,,.......................```````````````.:**i;.``.;#+++*+zz#**znnnnnnnnzz##nxnzznnxnnxxxxxxMMMMMMxxxxxxxnnz#**i;,............:iiii;;;;:::::;;i;;
...,,,,,...................``.`.``````````.;i*z#+++*,,;+#z###zxnz##nxxzzznzzznnxxMMMMMMMxxxxMMxxxMMxxxxxxxxnnnnnz##+*i;:,..,,.....,;iiii;;;::::::;;;;i
,..,,,.,...................`````````````,;zz#zn####+*+###znnxxxnnxMMMxnzznznnnxxxxxxxMMMxnnMMxxxMMMxxxnnnxnzzznnzz##+*i;;::;i:,,,,,;ii;;;;::::::;;;;;;
...,,,..................`..``````````.:;+#nzzznnnzzzzz#zznxnnxMMMMMMMxxxnnnnnxxxxxxxxxMMxz#xxn#nxxMMxxnnnnnnnnnnnzz##+*iiii*##,,,:,;iii;;;::::::;;;;;;
,...,,,....................`.``.```.;*+#zznxnnnxxxxnnzznnxnxxxMMMMxxxxxxxxnnxxxxxxxxMMMMMnzxx*`.;#xnnnnxxxxxxxnnnnzzz#+****iii:```.;;i;;;;:::::::;;;;;
,...,,,.....................````.,;+#zzzznnxxnnxxxnznnzz++MxxxMMMMxMxxxMxxnnxxxxMMMMMMMMxnznn,````;zzz#znnxxxxxxxxnz###+**+*ii;````;i;;;;;::::::;;;;;;
,,..,,,......................`.,i+#zzzzzznxxnnxxxxnz;,.``.xxxxMMMMMMMMMMMxnnxxxMnxMMnxMMMxzz+``````.*zznnnnnnxxxxxnzz###+*+***i,..`i*i;;;;::::::;;;;;;
,,,.,,,.,....................:i++zzzz##zznnnnnxnnzi.``````zxxxMWnxMMxMMMMxnzxxMxnxMMxMMMMxzz*````````:znnnxnnnnnnxxnnz##++***++:,,,+++*i;;:::::;;;;;;;
,,..,,,,..................,;*+####z#####znxxxxxn#,````````innxMMMMMMMMMMMx#zxxxxxxxxMMMMxxz#i`````````,nnnnnnnnnnnxnnzzz#+#++#z:,,:+##++i;;:::::;;;;;:
,....,..................:*++##z########zxxxxxxxz.`````````.nnxMMMMxxxxxMMn##nxxxxxxxxxxxxxz#,``````````:nnnnzzzzznnnnnz##z###zz;::;z####+*i;:::;;;;;;:
,.,..,,..............,*#####zzzz##++#znxxxnnnxxi```````````znxxMMxxxxxxMxn*+znnnxxnnxnxxxn#*,``````````.nnnzzzzzzzznnnnzzzzzzn+;;;+nnnzz##++i;;;;;;;;:
,....,,,...........,*zzzzzzzzzz##+++#nxxnzzznnx,```````````+znxxxxxnnxxxxz*+znnnnxnnxxxxxx#*,```````````z##zznnnzzznnzzzz#zznx*;;inxxxnnzz##+*ii;;;;;:
,....,,,,.........;znnnnnnnz#z##+++#nxnzzzzzzzz.```````````*zxxxxnnnnnnxxn++znnnnnnnxnxxxnz#:``````````,nz#zzzzz##zzzzznzznnMziii#MMxxxxnnnz##+**i;;;:
,.,....,,.......,+nxnnxxxnnz#++#+##zxnzzzzz###z;```````````izxxxxxnnznxxxn++znnnnznnnnxxxn#*,`````````:znnzzz#####zznnnnxxMMx***+xMMMMxxxxnnzzz#++*i;:
,,,...,,,......:#nnxxnxxxxnz#++##znnxz##z#z###nn*:.````````innxxxnnnnnxxnz*+znxxnnznnnnxxnz+.``````,iznnnnzz#####znnnnnxMMMM+**+nMMMMMMxxxxxnnz###++*i
,,.....,.,.,.,*nnnxxxxxxxMxnzz##zznzz########znnnzz#+*;.```;znxxnnzznxxxn#**#nnxxnnnnnnxxn*.````.i*#znzzzzzz##zzznnnnn++MMx#***nMMMMMMMMMMxxxnnzz####+
,,....,,,..,;znxxxxxxxxxxMMxnnzznnzzz##++###zzzzzzz#znn#.``.inxxnnznnxnnz#+*+#znxnnnnnnnxni````;#n#zznzzzzzzzzzzzzz#*,..*znz#**xMMMMMMMMMMMxxxxnnzzz##
,,,.,,,,,,:+nxxxxxxxxMMMMMMMMxxz#znnnzzz###zznz##zz#znnn#````nxnnnnnnxnz##++#zznxxxnnnnxxn:```:znn##zzzzzz#*;:,...........,::..,+MMMMMMMMMMMMMxxxnnzzz
,,,..,,,:*nnxxxxxxxMMMMMMMMxx*,```,i+#z#++**+#+ii*#+#znnn.```+xxnnnnnxxxxnznnxxxxnxxxxnxxn,```znnz###i,.```````````.............,ixMMMMMMMMMMMMMMxxnnn
,,,,,,:*nxxxxxxxxMMMMMMMMMx+....```````````````````,i#zzn.```ixxxxxxxxMMxxxxxxxxnnnxxxxxxn.``.xnz#+;.`````````````````..........,:;+xMMMMMMMMMMMMMMxxx
,,,,,*zxMMxxxMMMxMMMMMMMMz,..``.``````````````````````.,,````,xxxxxxxxxxxxxxxxxxxxxnxxxxxn+*;;nn*:```````````````````...........,:;;izMMMMMMMMMMMMMMMM
,,:*nxMxxMMxMMMMMMMMMMMxi....```````````````````````````````.:xxxxxxxxxxxxxxxxxxxxMxxxxxx;,zzzz*``.:,.````````````````........,,,::;;;*nMWMMWMWMMMMMMM
:+nMMMMMMMMMMMMMMMMMMMn,........````````````````.;;,````,;i#nxxxMMxxMxxxxnnnnnxxxxxxxxxxz.`;znxx*i+##+;.`````````````.........::,::;;;;;*xWWWMMMMWWWWM
xMMMMMMMMMMMMMMMMMMMM#..........```````````````:##znz,`.nxxxxMMxxxxxxMxxxnnnnnzznxxxxxxx*``.nxxxzz#znzz+:`.```````...........::::;::;;;;;;#MWWWWWMWMWW
MMMMMMMMMMMMMMMMMMMM*.............````````````innxxnnz:#MMMMMM#*Mxxxxxnn#++*i;i+zxxxxxxx*```zxxnnznnnnz##*:.`....,;ii:,,.....::::::;;;;;;;i*nWWWWWWWWW
MMMMMMMMMMMMMMMMMMn:............````````````.#xxMMxxxxxxMWMMMx,,xxxxxxnz*i;:;i+znxxxxxxx#```zxxnnznnnnzznz+*******+#z#+**i;;:;;iii;;;;;;i****#MWWWWWWW
MMMMMMMMMMMMMMMMM#..```````.........``.,;ii;+xMMMMMMMMMMMWMMMz,:nxxxxxxnz#++##nxxxxxxxxxz```#xxxnnnnnnznxn#z###++##znzz###+++**###*;;i*+##znz+*xWWWWWW
MMMMMMMMMMMWMMWM*.....`.``......::;i+#nnxxxMxxxMMMMMMMMMMWWMM+,,nxMxxxxxxxxxxxxxxxxxxxnxn```zxMxnnnnxxznnzznnzzz#zzznnnzzzz####zz+++*nzznnnMMn##MWWWWW
WWMMMMWWMWMWWWn;,.....`.....,;*znnxxxxxxxxxMMMxMMMMMMMMWWWWMM+:,zMMMxxxxxxxxnxnxxnxxxxxxn```nMMMxnnnxxzzzzznnnznznnznxxnnnnzzzzzz####znnnnnxMxnnxMWWWW
WWMMMMMMMWWWW#,,,........izznxxxxxxMMMMMxMMMMMMMMWMMMMMMWWWWM#::#MMMxxxxxxnxxxxxxxxxxxxxx.``xMMMMnnnxxxzzznxxnnnnnnnnxMxnnnnnnnnnzzzznxxnnnnxMxnxWWWWW
WWWWWWWWWWWM*,,,,...:,.:+xxxMMMMMMMMMMMxxMMMMMMMMMMMMMMMWWWWMz:,*MMMMxxxxxxxxxxxxxxxxnnnx```xWMMMxnnxMxxnnnnxnnxxxxxxxMxxxxxxxxxnnnnxxxxxxxnxMMMWWWWWW
WWWWWWWWWWx;:i*+;*+zxxxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMn:,iMMMMMxxxxxxxxxxxxxxxxnnn```xWWMMxnnxxxxnnxxxxnxxxxxxxMxxxxxxxxxxxxxMxxMxMxxxWWWWWWWWW
WWWWWWWWWn::zMMMxMxMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMx::;MMMMMMMxxxxxxxxxxMxxxnxz``.MWWMMxnnnxxxxxxxxxxxxxxxMMMMxxxMMxxxxxxMMMMMMMMMMWWWWWWWWW
WWWWWWWWWx#xMMMWWMMMMMMWWMMMWWMMWMMWMMMMMMMMMMMMMMMMMMMWWMWWWMi::nMMMMMMxxxxxxxxxxxxxxnx+``,MWWMMxnnnxxxxxxxxxxxxMMMMMMMMxMMMMMxMMMMMMMMMWWWWWWWWWWWW@
WWWWWWWWWWMWWMMWWWMMMMMMWWWWWMMMWWMWMMWWMMMMMMMWMMMMMMMWWWWWWW+::+MMMMMMMMMMMMMMMxxxxxxx:``:MWMMMMnnxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWMWWWWWWWMWWWWWWMWWWMMMWMMMMMMMMMMMWWWWWMx:::xMMMMMMMMMMMMMxxxxxxx+```.zMMMMxnnnxxxxxxxxxMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWW@WW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWMMMMMMMMWWWWMz;::iMWMMMMMMMMMMMMMMxxxn,````,+n#++znnxxxxxxxMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMWWWzi;:,,zWWMMMMMMMMMMMMMMMx*``````.::...,*zxxMMxMMMMMMMMMWWMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWMWMMMMMx+i;zWMz*i;::,:xWMWMMMMMMMMMMMMMz.``````.:,,.....inMMxxMMMMMMWMWMMMMMMMMMMWMWWWWWWWWWWWWWWWWWWWWW
WW@WW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMM+,.,:in+***i;:,:;xWWWMWWWMMMMMMMn,```````.,:,......:#xxMMMMMMMMWWMMMMMMMWWMWWWWWWWWWWWWWWWWWWWWWWW
WW@WWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMx;....,:++***i;::,,;nWWWWWMWWWWWMn:.```````.,,.....`..,+xMMMMMMMWWWMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWW
W@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMz,.....,,i****i;::,,,:#MMWWWWWWMMz,..```````.,,.........,#MMMMMMMWWWMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@@WWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMz,,......,:i*i**i;::,,,,:+nMMMMn+:...`.`````..,,.........,:nMMMMMMWWMMMMWMWWWWWWWWWWWWWWWWWWWWWWWWWWWW
W@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWM#:,,,......:;*****i;:::,,,,..,,,........`````..,...........,;nMMMWWWWMMWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
W@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMM*:,,,,......,:*****i;:::,,,................`...,,............,:#MMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
W@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMn;,,,,,,,......,;ii***i;::,,,,,,,.................,,.........,..,:;nMWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
W@WWWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWM#::,,,,,,,,,.....:iiii**i;;:,,,,,,..,.............,,,.......,,,,,,:::+MMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWM*;::,:,,,,,,,,,...,:iii**i;;::,,,,,,,,,............,,,....,,,,,,,,,,,:i*xWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
W@@W@W@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWx*:::::::::,,,,:,...,,;iiii*i;;:,,,,,,,:,,,,,,......,,,....,,,,,:::::,,::ii#MMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWni;;:::::::,:,,,,::,,..,:iiii*i;;::::::::::::::,,,...,,,...,,,,,:::::,,,::;;i+MWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
W@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMz;;;:::::::,::,:::::,,..,,;ii***;;::::::::::::,,,,...,,,..,,,,,,:;;:::,,::::;ii#MWWWWWWWWWWWWMMWWWWWWWWWxnWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWz;;;;;;;;::::::,:::::,,,,.,,:ii*+i;;:::::::::::,,,,..,,,,..,,,,:::;;::,,,:::::;i*xWWWWWx#+++*iiiii*+zMWWx++MWWWWM
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWzi;i;;;:;;::::::;;*#+;::,,,.,,:;i**i;;:::::::::,:,,..,,,,,.,,,,::i;;:::,:::;:;;;i*+MWWWn;**i*iiiiiiii**+++**+nxnz#
WWWWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWz*i;;;;;;;;;;;;:::;#*+z+;:,,...,:;;i*;;:::,,:::,,,,..,,,,,,,,:::;i#;;:::::::::;i;iiizWMxi;i***iiiiiiii*********++++
WWWWWWWWWWWWWWWWWWWWWWxnnznnzz##MWM**ii;;;;;;;:;;;;:::*::;+zi::,,..,,:;iii;::,,,:,,..,,,,,,,,,,:::;i++;;:::::::::;iiiii+nxi;;****iiiiiii**********++++
WWWWWWWWWWWWWWWWWMxn+;::::::,:,:iMx+*ii;;;;;;;;;;;;;;:;:;;;#x+;:,,,.,,:;ii;i:,,,:,,.,,,::,,,,,::;i*#+*;;;;:::::;;iiiiii**+::;*****iiiii*****+*****++++
WWWWWWWWWxMWWWWWni;;;;:::::::,,,,*z+**iiiii;;;;i;;;;::;;;;*xnnzi:,,,,,,:::;;;,::,,,,::,,,,,,,:;;;i#++;;;;;;;;:;iiiiiii**i;:;i*****iiii****+*++***+++++
WWzzWWWWx*#MWMn+i;;;;;:::::::,,,,,;+*iiiii;;;:;;;;;;;;;;:*xni;*z#*i;:,.,,,::::::,:::::,,,,,::;;ii*z#*;;;;;;;;;;iiiii;i*i;;;;i**+**********++++**+++++#
z#**+++#*****iiii;;;;;;:::::::::,,:***iiiii;;;;;;i;;;;;;*xn*iiz*+zzi:,,,.,,:::::::::::,,,,:;;iiii#x+ii;;;;;::;;i*iiii;ii;;;;*************+++++*++++++#
z#+****+****iiiiiiii;;;;::::::::::,:**iiiiii;;;;;ii;iiiinx*;*n#iiii;;:,,,,,,,::;:::,:,,,::;ii**#+nzi;ii;;i;:;iii*iiiii*i;;;;*++*********++++++*++++###
z#++***++***iiiiiiii;;;;;;::::::::::;*iiiiii;;;;iiiiiii#Mz;inn#iiii;;;;;::i**i:::::,,,,,;;***+#n#x#*iii;;;;;iiiiiiiiii*;;;;i*++++*******+++++++++#+###
nz+****++***i*iiiiii;;;;;;;;;::::::::iiiiiiii;;;iiii+*+xx**nn#xii*iiii**#nxnnn;,,,,,,:;ii++n###z#x*#iii;;;;iiiiiiii***i;;;;i*++++******++++++++++#####
nz+++**+++*******iiii;;;;;;;;::::::::i**iiiiii;;iiiinznM#i+z+x##xzz***zxxzzn#x+:::;;iii+#znzzznnnMz+iiii;;iii**iii****i;;;ii++++*****+++++++++++++####
nz#++*+++++*****iiiiiiii;;;;;;;::::::;*iii*****iiii*+zz#ii**+nnxn##i*nMn+*z#+xz*ii*++#zznznxxnzz+++*iii;;;ii****ii***i;;;;i*++++++***++++++#+++#####zz
xz#+++++++++******iiiiiii;;;;;;;;::::;****i****iiii**i*******+*#zzz*zMn***+xxxn+**##znnnz+*+****+++*ii;;;ii*****i****i;;iii*###++++++++++###++######zz
Mnz+#++++++++******iiiiiii;;;;;;;;;;:;**********iiii***++++*+++*+***xx+****zxnnnznnnnz+*+++#+###z#z*i;;;iii**********i;iiii+##++++++++++##########z#zz
Mnz#+++++++++*******iiiiiii;;;;;;;;;;;*******+**i*ii*nxxxn#+++++#+++Mn+*++zxznnznnxnz#z#z#+z#nn##*+ii;;i*****++******;iiii*+###+++++#+############zzzz
Wnn##+++#++++*********iiiiiiii;;;;;;;;i++*+**+**ii*i#x#zxxM#***+####nx###nn##zz#+zz#z#z+#z+z+##++*ii+*ii************iiiiii*+#####++##+###########zzzzz
@nnz#++++#++++*++******iiiiiiiii;;;;;;i+++**++++**ii##+Mn+nx+++zn+++#znnn##z##z#*#++#+++++*+******i*x*******+++*+++*iiiii**#z#####++####z#####zzzzzzzz
@xnz##+++#+++++++********iiiiiii;i;;;;i++++++++++**i*+nM++nM+#xzn+++####+#zz####+#+****************zn****+++#++**++*iiii**+#zz#########zz#####zzzzzznn
@Mnz####+##++++++++*********iiiiii;;;;i++++++++++++**+MMnzxn#xzz#+*++########nxxMMn+**++++*+*****iixz#+++++++++**++*iii***#zzz#########zzz#zzzzzzzznnn
@Wxnz###+###+++++++++*******iiiiiiiiiii+#+++++##+++*+xx#xMn#xxzz+**++#++###zxxzxnzMn+++++++++*+**i#xnz+++++++++++++*iii***#zzzz#z#####zzzzzzzzzzzznnnn
@Wxnz#######+++++++++++*+****iii*iiiiii*##++++##+#z#nMz*#M#zMnznz#z++######nxnMxz#Mx#+++#++++#nM#+xxzz++++#++++++++******+#nzzz#####zzzzzzzzzzzzznnnnn
@@Mxzzz###z###++#+#++++++++******iiiiii*####++####zxMMz*#Mznx#zx#xz#nxn#+++#zMMnnnxznzz#+#n##znnzzxxn#+#####+++++++*****++znnzzzzzzzzzzzznzzzzzznnnnnx
@@Mxnzz##zz########++++++++*********iii*##zz#z#zz##zznn#xMzM#+xnnx#nxzz++++#nMxMMn#zMxMzzxn+nznxnnzxz####+###++##++***++++znnzzzzzzzzznnnnzzzznnnnnnxx
W@Wxnzz###zz#########+++++++************##zz###zz#zz##xMMz+xzxMzMzznnnz#+++#xx#zMn#nnxnnzxzzMznMxz########+#######+***+++#nnnnzzzzzzznnnnnzzznnnnnnnxx
W@Wxxnzzzzzzz#########++++++++++********#zzzz##zzzzzzz###++#zzxnMxxxz#nz###nMx##MxznxxnMnnnnMxn#z#+######++#####z#+*+++++#nnnnnzzzzzznnnnnzznnnnnnnxxx
@@@xxnzzzzzzzzz#########++++++++++******+zzzzzzzzzzzzzz###++++++#zzxxxz#zxxMMxznMz##nnzz#+*+#zz########z##z#######++++++#znnnnnnnzznnnnnxnnnnnnnnnnxxx
@@@Mxnnzzzzzzzz##z#########++++++++++***+zzzzzzzzzzzzzznzz#+++++++zznz###znzznxnz+++++***++###zzz####z#zzz####z###++++###znxnnnnnnnnnnnnnnnnnnnnxxxxxx
@@@WMxnnzzzzzzzzzzzzz##########++++++++++zzzzzzzzzzzzznxnz###+++#xxnnxxz#+#znz#++++++++++##zzzzznz#z#zzzzzz###zzz++++###znxxxnnnnnnnnnxxxxnnxnxxxxxxMM
@@@WMxnnnnnnzzzzzzzzzzzz########+++++++++zzzzznnzzzzznnnnnnn##++xx#zxnnMz#nnz#++++++++++###znnnznzzzzzzzzzzzzzzzz++###zzznxxxxxnnnnnxxxxxxnnxxxxxxxxMM
@@@@MMxnnnnnnnnzzzzzzzzzzz#######++++++++znnnnnnznnzznznnnxnz###x##Mn+#Mzzxzz+++++++++##zzznxnnzzzzzzzzzzzzzznznz####zzzzxxxxxxnxnnxxxxxxxnxxxxxMxMMMM
@@@@MMxxxnnnnnnzzzznnzzzzzzz########+#+++znnnnnnnnnznnnnnnnnzzzzzzxM##nMnxnnz##+++###zxzzzzznzzzzznnzznzzzznnnnnz###zzzznxxxxxxxxxxxxxxxxxxxxxxxMMMMMM
@@@@WMxxxnnxnnnnnnnnnnzzzzzzzz###########znnnnnnnnnnnnnnnnnnnnnnnxWMxxMnxMnnxzxn#nxMnxMznnzzzznnnnnnnnzznzznnnnzz#zzzzznnxxxxxxxxxxxxMMMxxxxxxxxxMMMMM
@@@@WMMxxxxxxnnnnnnnnnzzzzzzzzzz#########znnnnnnnnnnnnnnnxxnnnnnnMWMMMzzMMnnMnMnnMxxxMMxxnznnnnnnnnnnnnnnnnnnnnnz#zzzznnxxxxxxxxxxxxxMMxMxxxMxxMMMMMMM
@@@@WMMxxxxxxxxnnnnnnnnnnnznnzzzzzz###z##znnnnnnnnnnnnnnxxxxnnnxxWMnnWxxWnzMxxMnMMxMMxMxnnznxnnnnnnnnnnnnnnnnnnnzzzznnnnxMMMxxxxxxxMxMMMMxxMMMMMMMMMMM
@@@@@MMMxxxxxxnxnnnnnnnnnnnnzzzzzzzzzzzzzzxnxxnnnnnnnnnnxxxxxxxMWWMnxWxMMxMWxMxMWxxMMMxnnnnnnnnnnnnnnnnnnnnnnnnnzzzznnxnxMMMMxxxMxxxMMMMxxMMMMMMMMWMWW
@@@@@WMMMxxxxxxxxxxxxnnnnnnnnnzzzzzzzzzzzznxxxnxxnnnnxnnnxxxxxxxxxMMMWxMMMMMxMMxMxnxxnnnxxxxnnnnnnnnnxnnnnnxxnxnzznnnnxxxxMMMMMMMxMMMMMMMMMMMMMMMWMMMW
@@@@@WWMMMMxxxxxxxxxxnnnnnnnnnnnnzzzzzzzzznxxxxxxxxnxxxxxxxxxxMxxxxxxxxxxxnxxxxxxxxxnnxxMxxnnnnnnnxnnnnnnnxxxxxnnnnnnxxxMxMMMMMMMMMMMMMMMMMMMMMMMMWWMW
@@@@@WWWMMMMMMxxxxxxxxxxnnxnnnnnnnnnnnnnzzxxxxxxxxxxxxxxxxxxxxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnxxxxxxxxnxxxxxxxxxnnnnxxxxMMMMMMMMMMMMMMMMMMMMMMMWWWWWWW