WWWWMMMW@@@@@@@@@@@@@#############@@@@@@@@@@@@@@@@@#######################@@@@WWWWWWWWWWW@@@@@@#@@@@Wxnz##zzz+*ii*+#zznxnn;`  ``````..................
@WWWWWW@@@@##@@@@@@@@#############@@@@@@@@@@@@@@@@@@#######################@@@@WWWWWWWWWW@@@@@@##@@@@Mnz+*+++*;;;;i*#znnni`   `````...................
@@WW@W@@@@###@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@@######################@@@@@WWWWWWWWW@@@@@@@##@@@@Wxz+**i*i:::;ii+#n#i````````....................,
@WW@@@@@@@##@@@@@@@@@@@#########@@@@@@@@WWWWW@@@@@@@@##################@##@@@@@WWWWWWWWW@@@@@@@@@@@##@Wz#+*i;,,,,:;i*+#i`` ````.....................,,
WWWW@@@@@@@@@@@@@@@@@@@########@@@@@@@@WWWWWW@@@@@@@@####################@@@@@@WWWWWWWWW@@@@@@@@@@@@@@@xz#+i:....,,;i*;``````.`..................,..,,
WWWWW@@@@@@@@@@@@@@@@@########@@@@@@@WWWWWW@@@@@@@@@@################@@@@@@@@@WWWWWWWW@@WW@@@@@@@@@@##@Mn#+i,```..,:;;` `````..................,.,..,,
WWWWW@@@@@@@@@@@@@@@@@#######@@@@@@@WWWWWWWW@@@@@@@@@##############@@@WWW@@@@@@WWW@WWWWWWW@@@@@@@@@@@W@Mxz+;.````...,` `````.....................,.,,,
WWWWW@@@@@@@@@@@@@@@@@#####@@@@@@@WWWWWWWWWWWWW@@@@@@#############@@WMMMMMMWW@@@WW@@@@WWWWWW@@@@@@@WWMMMxn#,`````.`.`````..``................,..,.,,,,
WWW@@@@@@@@@@@@@@@@@@@#####@@@@@WWWWWWWWWWWWWWWW@@@@@############@@WMMxxxxnxMWW@@@@@@@WWWWWWWWWW@@WMxnnxxx+.````````` ``````.................,,.,.,,,,
WWWWWWW@@@@@@@@@@@@@@@@@@@#@@@WWWWWWWWWWWWWWWWWW@@@@@@###########@WMMxxxnzznnMMWWWW@@@WWWWWWWWWWWWxnnzznnni.```````````..`...``..............,,,,,,,,,
MWWWW@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWMMMMMWWWW@@@@############WWMMnzz####zznxMMWW@@@@WWWMMMMMMMnzz#+#zz:````````````......``............,,,,,,,,,,,
MWWW@@W@@@@@@@@@@@@@@@@@@@@@@WWWWWWMMMWMMMMMMMMWWW@@@##########@@WMMnz#+++++++#znxxMMMMMMMMMxxxxxxz##+***+.````````````...................,,,,,,.,,,,,
MWWWWWWW@@@@@@@@@@@@@@@@@@@@WWWWMMMMMMMMMMMMMMMWWW@@@@@@@@@####@@WMxz#+++*****++znxnz#zzznnxnnnnxxz#+**ii;``````` ````....................,,,,,,,,,,,:
MMMMWWWWW@@@@@@@@@@@@@@@@@@@WWWWMMMMMMMMMxxxxMMMWWWW@@@@@@@@@@@@@@Mnz#++***ii**++###+++++###zznnnnz#+*iii,`````` ````...................,,,,,,,,,,,,,,
MMMMMWWWWW@@@@@@@@@@@@@@@@@@WWMMMMMMMMMMxxxxxMMMMMWWW@@@@@@@@@@@@@xz##++**iiii*********++***+##zznz#+*ii;..````` ````.....,......,,,....,,,,,,,,,,,,,,
MMMMMMMWWWW@@@@@@@@@@@@@@@@WWMMMMMxxxxxxxxxxxxMMMMMWWWWWWWW@@@@#@@Mnz#+**iiiiii**iiii****iii**+##zz#+*i;:.`````  ````..,.....,,.,,,,,...,,,,,,,,,,,,,,
MMMMMMMMMWWW@@@@@@@@@@@@@@WWWMMMMMMxxxxxxxxxxxxMMMMMMMWWWWWWW@@@@@Mxz#+***iiiii**iiiiiiiiiiii*+++###+*i;:.`````  ``...,,,.,..,,,,,,,,,,,.,,,,,,,,,,,,,
MMMMMMMMMMWWW@@@@@@@@@@#@@WWWMMMMMMMMMxxxxxxxxxxxMMMMMMMMMMMWW@@@@Wxxz#+***iiii**i;iiiiiii;;;i+++####**i,..````    ....,,.,,,,,,,,,,,,,,..,,,,,,,.,,,,
xxxxMMMMMMWWWWW@@@@@@####@@WWWWWMMMMMMxxxxxxxxxxxxxMMMMMMMMMMWWW@@WMxnz+++*iii**iii;;iiii;;;i*++++###+*i:,````    ``........,,,,,,,,,,,,,,,,,,,,,,,,,:
MxxxxMMMMMMWWWWW@@@@@####@@@WWWWWMMMMMMMxxxxxxxxxMxMMMMMxMMMMMWW@#@WMxnz+++******iiiiiiii;;ii*++++###++*;:..``` ``....`..,,.,,,,,,,,,,,,,,.,...,,,,,,:
MxxxxxMMMMMWWWWWW@@@@####@@@@WWWWWMMMMMMMMxxxxxMMMMMMMMxxxxMMMWW@#@@WMxz##+++++***iiiiiiii;i*++++####++*i:,..`,;*i*i.,...,,.,,,,,,,,,,,,,......,,,,,:,
MxxxMMMMMMWWWWWWWW@@@#####@@@WWWWWWWMMMMMMMMxMMMMMMMMMMxxxMMMMWW@@##@WWxnnzzz##++++****iiii*+#####zzz#+*i:,:,izxMxzi:;.,,,.,,:,,,,,,,,,,.....,,,,,,,,:
MxxMMMMMMMWWWWWWWW@@@#####@@@@@@WWWWWWMMMMMMMMMMMMMMMMMMMMMMMWW@@@###@@@WMMxnzzzzzz#++**i**+zzzzzznz*i;:.;,.;#nxMz*#ii,,:,.,::,,,,,,,,,.,.,.,,,,,,,,,,
xMMMMMMMWWWWWWWWW@@@@######@@@@@@@WWWWWWWMMMMMMMMMMMMMMMMMMMMWW@@@####@@@@WWMxxnxnnzzz##+#zzzzznzx#,.i*i*z,+nnxWMM#n*i,,:,,:::,,,,,,,,,.,,,,,,,,,,,,,,
MMMMMMWWWWWWWWWW@@@@@#####@@@@@@@@@@@@@WWWWWWWWWWWWWMMMMMMMWWWW@@@#@@@##@@@WWMMxxxxnxz#+znxnnznnx#;***+:*;#++#nMM#iz*i,,,.,,:,,,,,,,,,,,,,,,,,,,,,,,,,
MMWWWWWWWWW@WWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWMMMWWWWWW@@@@@@@@@@@WWWMMMMMx;,:;;:izMnxxi:*#*+i*#+:*i+z#z#*++;,,,.,,,,,,,,,,,,,,,,,,,,,,,,,.,,
WWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@WWWWWWWWWWWMWWWWWWW@@@@@@@W@WWWWWMMMx*,,::.,:.`*x#::i*#**#xii#xzxWM##+z+;,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,
WW@@@@WWWWW@@@@@@@@@@@@@@@@@@@@@@######@@@@@@@@WWW@WWWWWWWWWWWWWWW@@@@@@WWMMMMMMx;:;;,:i*++i;,,:#nzz+#zzi##xx*#Mi#:##;:,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,
@@@@@@WWWW@@@@@@@@@@@WWWWWWW@@@@@######@@@@@@@@@WWWWWWWWMMMMMMMWWWWWW@WMMMMMMxn#:,;;ii++#+*;;.;*#n#*++*z+nx#Mx++nz,+#i:,,,,,,,,,,,,,,,,,::,,,,:,,,,,,:
@@@@@@@@@@@WWWWWWWWWWWWWWWWWWW@@@@#@##@@@@@@@@@WWWWWWMWWWMMMMMMMMWWWWWWMMMz;,...,:*+*+zx+#++*##+#xii+z*+*##+#xxzi++#+i;::,,,,,,,,,,,,,,,,,,,,,::,,,,::
@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWW@@@@#@@@@@@@@@WWWMMMMMMMMMMMMMMMMMMMWWWM*;,;*;iii+++#*++xzzxxz+nzz###+#izMzn#+xzi#n#+*;::,,,....,,,,,,,,,,,,,,,::,:::;
@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@WWMMMMMMMMMMMMMMMMMMMMMM+,:i*+i#+***#n+*+#Mnxn###*in**#x;i#+zz#i#x;#n#*i;::,,......,,,,,,,,,,,,,,::::::;
@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@WWMMMxxxxxxxxxMxxxxxxxxz,,:;i+**+***i+*++#zzxxnn+z*++xn*z*+nznzx,*n#zM#i;:,,,..........,,,,,,,,,,::::::;;
@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@WMMMxxxxxxxxxxxnnnnnxnzi;i*+*+i;i***iz*+*znxMzMzzn*+++z#xWxxnnx+z+;#x@Wz+i:,............,,,,,,,,,,,::::;;i
@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@WWMMxxxxxnnnxxxnnnnnz*i*;i*+#ii:ii++iiz**znnzzzxn#z#nn+#MWMWxxzn:zM;zW@WMx+i;:,,,,,....,,,,::,,,,,,,,,::;;;
@@@@@WWWWWWWWWWWMxnnnMWWWWWWWW@@@@@@@@@@@@@WMMxxnnnnnnnnnnnnzzi;*iii*;;:,.,;ii+++#*+###n#nx#zxMWn*#WWWxznzni*zxnxWWWMn#***:,,,:,,,,,,:::,,,,,,,,,::;;i
@@@@WWWWWWWWMMWMnzzznxMW@@@@@@@@@@@@@@@@@WWMMMxnnnnnnnnnnn#i,:;;ii#;:;;::i+n++*;i+*+znxnzxzxxzxxz*#nMx+izinz+xz#zxWWWxn+**i;:,:;::,:::::::::,,:::::;;;
@@@WWWWWWWWWMMWMxnzznMW@@@@@@@@WWWWW@@@@WWWMMxxnnnnznnzn#;:,;ii*;,,,:;*zn#z*+#*i+*i+#nzxzzMn#znxxW#+n*+;#+;zxzz#zznMMMx#****i:,:;;;::::;::::,,::,::;;i
WWWWWWWWWWWWWWWMMxxxxW@@##@@@@@WWWWW@@@WWWMMxxxnnnnzzz+:.,;ii;::;;;zM++#**i*;z**#*iin+x#xxn#++xMWxn#+;*;ii#nzz##z##nMWx+***++*i:,:::::::::::,,,::::;;i
WWWWWWWWWWWWWWWWWMMMW@####@@@@@WWWWW@@@WWWMMxxxnnnz#*::;i;:;;*##+*in##*+#+ixi***+i*++zxznMz*+zxnx**i+;#xx#nzz#+++##nMxz+iii****ii;;;;::::;::::,,::::;i
WWWWWWWWWWWWWWWWWWW@@@####@@@@@@WWWW@@@WWWWMxxnnz+:;;i;;;z#+z##++zii#*ii+#+#+i+++#**#*xnMz+##xnz+ii*#nM@Mi++*ii*+##xMx+***ii**+*;:;;;;;;::::::,:::::;i
MMMMMMMWWWWWWWWWWW@@@@@@@#@@@@@@WWWW@WW@WWMMxn#*:i;+z++i*;###*z#i##i*+***+zz+*#++z#++z#nMz+*#n+#ii##M@@WM***i;ii*##znx+ii;iii;;iii;;;:::::,,,:::,,::;i
MMMMMMMMMWWWWWWWWWWW@@@@@#@@@@@@@@@@@W@W@WWz*;:;;i**x++;**nz#+i+*zzi+n+*#zzx#zn#+#z#z#nznn#x#+*ii+n#x@@W#*i:::;i**+zzx#iiiii;;;;:::;;i;;,,,,,,,:::::;i
MMMMMMMMMMMMWMMWWWWWW@@@@#@@@@@@@@@@@@@@x*;;*iii+z#zx+;*iii+#z***++*i+n#+zxMxxMzz#zz+zznnn++++#+zxMx*@Wz*;:::::;i**+zMWn##+*i;;iiii;;;;:::,::,,,,:::;i
MMMMMMMMMMMMMMMMWWWWWW@@@##@@@@@@@@@@W#:::::iz#*zM##nnzn;i+z*+*#+*n#izMn+#+xnznMnz#zznnz##+zzzzxMMnx*nx*;,,,:,,:;iii+nMWMxMz#nz#**iii;;;;:,,,,,,::::;i
WWWWMMMMMWWMMMMMWWWWW@@@@##@@@@@@@@xi:i#*:;*i***nn*#zz+#*z+#*nn*nn#**i*x+xznx#+*nz##n##x#znWxz+zMzz#*;+;....,,,:::;;i+nMWxi;::;;;;;;;;;:::,:::,,,:,:;*
WWWWWWWWWWWWWWWWWMWWWW@@@#@@@@@@M#:::;;ziiiii**i;**n*+*z#+**znz*zn*z**i*znMx##iii+#zn##xxnxni;ixz**+#*:....,,,,,:::::;##+ii::;:,::,:;;;;::,,,,,,:::;i*
WWWWWWWWWWWWWWWWWWWW@@@@@@@@@Wn*:;ii*+z+*ii#+i;nxzzi*i#i++z#+**+*+nnnxzz+#+z+#*i;;++++##+*i;,,;zM****:,....,,,,,,,,:::i+*i:::,:;::::::,,,::::::::,::i*
WWWWWWWWWWWWWWWWWW@@@@@@@@@x*::;i*#+#+znn*#***z++i#*n*+*n#n***inxzz#xn##n+ii*+iii;;i;;:;:,:;..,*xz*ii........,,,,,:::::i*i:,,,,:;:::,,,,,,,,,,,,,:::;i
WWWWWWWWWWWWWW@WWWW@@@@@Wni:::;inM++*+#n+*i+#nn*#z##*#z+zii+*#*nzx#**++#z;i+*#i;;;:::::;;::,...ixz+*,..........,,,:,,:,:;::::i;,,:,.,,,,,::,,:::,::::;
@@@WWWW@@@WWWW@@WW@@@Wn*:i**i;*+##+z+z#+i**n+z*n+#*niz*;i*#z++n#nn+,ii*,,,,::::;ii*ii;;i;::i:,;#xn+:...`....,.,,,,,,,:.,:,:;:,,,..,,,,,,,,,,,,::::::;i
@@@@@@@@@@@@@@@@@W@W#;;;;;i#*i**#z#*++#nni*++#+*#+*+*#z#++++###*;i,,i;,:;;;;i*##nxx#+;;::::;i:i+#+:..```...,,,,:::..,,.,,..,::.,...,,,,,,,,:,,::::::;;
@@@@@@@@@@@@@@@@@Wz::;;ii*x*iizz#ii*##z+n*n*z*z*ii;i:izz+z##+*;:::;iiizxxxxMW@@@@@@@Wz;;:::;##ii+;,.```...,,,,,::;,....,,..,,:,.,..,,..,,,,,,,,,::::;;
@@@@@@@@@@@@@@@M+,:i*ii*+#ii*+***#zz+*+*#+i*#;**+++i*+#i;:iii:.,:*;+nMxMMMWMWWWW@@@@W@z;;;::inz;;:..`....,,,,,,:::i,.`.,,.,,,,:.,,,,,,,,,,,,,,,:::;;;;
@@@@@@@@@@@@@Mi:::;;#zzz#ni*;+nnz#*+*n#n*#+i+;i#ii*##i+:;*i,..::;+nxxxxMMMMMMWWW@@@@WWWziiiii#z#i,,.....,,..,,,,,:ii...,,,..,,,,,,,,,:,,,,,,,,,,,:;;;;
@@@@@@@@@@@x*:i;::;+#nnz+#ii*#*i+++#zn*ii***ii;+++##iii;i:,:,:izxMMMxxxMMMMMMWWWW@WWWWWWx#**ii#z*:,,,,,,,,...,,:::ii:.......,,,,:,:,,:,,:,,,,,,,::;;i;
@@@@@@@@@ni,:**nxn+**++ii;+++*i+n+#**iiii*+*iz+#+z+;i+;,,::;izMMMMMMMMMMMMMMMMWWWWWWWWWMWWMz*i*zz;:;::::::,,,:,::;ii;.......,,,,,::,,:::::,,,:::::;;;;
@@@@@@@xi:,;i*+nx**+zz+i**+++##+i**i;i+*ni#+nz+z*:;::,,,::#xMMMMMMMMMMMxxxMMMMMWWWWWWWWWMWMWM#**nz***+*ii;;::;;;i*+*i,...,,,..,.,,:::::::::,:::::;i;ii
@@@@@x;;ii+*z++*+*z#*+x#;izz*ii**#i;i*ii*#*n+i::::;:,,.:#xWWMMMWWWWMMMMxxxMMMMMWWWWMMWWWWMMMWxn+*nnzzzznznnnz++++#+;i;...,,,,..,,,,:::::::::::;;;;;;ii
W@Wn;,,:*zz+++z+z+++nxnMz+*++i##i;*z##**#+iii,:;:,,.,i#xMMMWWWWWWWWWMMMMxMMMMMMMWWWMMWWMWMMMMxnzz+#xz#MWMnz#zznzz#*;;i:,.,,,,,.,,,,:;:::::::::;;;;;;ii
W#;,,;;*;i*n+n*#*i#iinz+**#xn;;;*iz#+i+#*;;::::::,:*zxxMMMWWWWWWWWWWMMMMMMMMMMMMMWMMMWWWWWMMMxnnzz#+++#nWnz#z##+*ii;;;i,,,,,,,,,,,,::::::::::;;;;;;ii*
i;*#*ii*i+iii+*nz#M+#+*nii;:*i*#n#i+#*#++;,,...:i+nxMxMMMWWWW@@@WWWWMMMMMMMMMMMMMMMMMWMWWWWMxnnnnzznz+#zz#+++**ii;;;;ii:,,,::,,,,,::,::::::;:;;;;iiii*
;;+*zxM*i;;#*nxxni#*i+*ni*ii*zi+;+++**;#;,:,,:izMMMMxMMMWW@@@@@@@WWWWWMMWMMMMMMMMMMMMMMWMWWMxnnnnnznxMz+++***iiiii;;iii*;:,,::::,,,:,,,;;;;;;;ii;iiii*
*+++nxx***+i+#x#z+n+z+z**ii*;#*z*#*i*i;:,,,,;zMMMMMMMMMWW@@@@@@@@@@@WWWWWWMMMMMMMMMMMxxMMMWMxxnnnnnnnxWWMiii;;;;;;;:;ii*i;::::::::::,::;;;;;;ii;;i****
##+++#n+;iii#nx*#**izi;*++x+z*z**:+i*:,..,inWWMMMMMMMWWWW@@@@@@@@@@@@WWWWWWMMMMMMMMxnnxMMMMMxnnxxnnnxxMMM;ii:::::;;;;ii**ii;;;;;;::::::::;;;;iiiii*i**
**#++#z@nn*i##+##*z*+i+in+**++:::;:,...:ixW@WWMWMMMMMWW@@@@@@@@@@@@@@@@WWWWWWMMMMMxnnxxMMxxMMxxxMMMMMMMMM;:::::;;::;;;i*iiii;;;;;::::;::;;i;iiiiii*ii*
z+*#+##MnM#z##+*#+x;:****i+*i,;:,,...:;zW@@@WWWWWMWWWW@@@@@@@@@@@@@@@@@@WWWWWWMMMMxxxxxxxxxxMMMMMMWWWMMMx:,,,,,::;;;;;ii*iiiiii;;;;::;;;;;;;iii*******
*++z***###+***iz+ii;i*z++zii::::,..,;zW#@@@@@@WWWWWWW@@@@@@@@@@@@@@@@@@@@@WWWWWMMMxxxxxxxxxxxMMMMMWWWMMMM;...,::::::::;i**;iiiiiii;;;;;;;;;iii********
x###M+z***z++#ii;#*xz##n*ii;::,..:in@###@@@@@@@WWWWW@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWMMxxxxxxxxxxMWWWWW@WMWWz;;i*****iii;;;i+ii;iiiiii;;;;;;;;iiii*i*****
*+;**+++x#xii*in+z##nz#+#i:,,.,:*n@@@#@@@@@@@@@@W@W@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWMMxxxxxxxxxxMMWW@@@@WWWW**nnnxxxnnxnnz##i;;;iiii;;;;i;;;ii********i*
+++x##z+*;*in#z##nx*i#++i....,;n@#@@#@@@#@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@WWWWWMMMMxxxxMMxMMWW@@@@@WWWi::*#+**;;+###zn+::;iii;;:;;;i;;ii***+******
***+**+;+i*;;izzz+i:;+.:..,:*x@@#####@#@###@@@@@@@@@##########@@@@@@@@@@@@@@@@@WWWWMMMMxxxxMMxMMWW@@@@@WWWi.`:i:,:,:*i*+z#*::;;ii;;;;;;;;iii****+***+*
i+*z*ii;i;i#x+#+i#,i::.,,,*n@#@#@###@@@@@##@@@@@@@@@@@@@########@@@@@@@@@@@@@@@WWWWMMMMMxxxMMMMMWW@@#@@@WWi..,iii+i**#**i;;::;;ii;;;;;;iiii****+++*+++
+z+;;i*z+xx#zz*;;;:,...:*M@#@###@@@#@@@@@##@@@@@@@@@@@##########@@@@@@@@@@@@@@@@WWWWMMMMMxxxxMMMWW@@@@@@WWi`.,::;ii*;i;:::;::;;ii;;iiiii***+++*+++++++
i**#+nz+++#zi;i+i;..,,*x@#@###@@@@@@##@@@##@@@@@@@@@@@##########@@@@@@@@@@@@@@@@@WWMMxMMMMMMMMMWW@@@@@@@WW:...,,:,:;;:;:::;,:;iiii;;;iii***+++++++++**
i;;**##++#z;i*z:,,.:i#W@@##@#@@@@@@@@@@@@##@@@@@@@@@@@########@#@@@@@@@@@@@@W@@@@@MxxxxMMMMMMMWWW@@@W@@@@@i,..,,,:::,::::;:,:;i**i;;;i*****+++++++++**
i+z**+znn+;;*i,,.,:zW@@#@#@@@@@@@@@@@@@@@##@@@@@@@#@#########@@@@@@W@@@@@@WWW@@@@@MxxxxMMWMMMWWWW@@@@@@@@@#:::,,,,:,:::::;:,:;ii*;;ii*****+++++++++*++
nni;i+z#i;ii....,iz@@@#@@@@@@@@@@@@@#@@@@@@@@@@@@@###########@@@@@@WWWW@@WWW@@@@@@MxxxxMMMWWWWWW@@@@@@@#@@#:;i;;::;:::;::;:,:;i**;;ii**++++#++++++++**
**+zzz+;:::....:zW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@@@WWWWWWWWWWW@@@@WMxxMMMWWWWW@@@@@@@@@#@#+.:;;ii;i;;;;;:::,:i**i;ii***++++##++++++++*
*+##+**i;:,.,:inWWW@@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@@@@@WWWWWWWWW@@@@@MMMMWWW@WW@@@@@@@@####*.,;;;i;;;;;;::::,:i*+*;ii***+++###++++++++*
#zx+#*i;,.,,;#WWWWWW@@WWWWWWW@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@WWWWWWWWWWWW@@@@@@W@@@@@WW@@@@@@@@####*`.,:;;;:::;::,,:,;i*#i;i****++#z#+++###***i
++#++;i:,:**xWWWWWWWWWWWWWWWW@WW@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@WWWWWWWWWWWWWWW@@@@@@@@@@@@@@@W@@@@@@@##@, .,,::::::::,::,:;i+#;;i***++#z##+#+##+*ii*
ii*i;.,::inWMWWWWWWWWWWWWWWWW@WWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWW@@@@@@@@@@@@WWWWW@@@@@@#@x````..,,,::,,::,,:;*#+:;i***++######++**iii+
;::;..;zzMWMWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWMWWWWWWW@@@@@@@@@@@@@@WWWWW@@@@@##+``.``.,,:::,,:,,,:i*zi:;***++#####++**iii*+#
;:.,,;#MWWWWW@WWWMMMWWWWMMWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWMMMMWWWWWW@@@@@@@@@@@@@@WWWWW@@@@@##i`..`...,:,.,,,,,,:*##;:;**++##++++***ii**#+i
::,izx@@@WWWWWWWMMMMMMWWMMMWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWMMMMMWWWWWW@@@@@@@@@@@@@WWWWWW@@@@@@#i.......,....,,,,:;*z*:;i**+###+**+*iiii+#*ii
.,;zW@@@@WWWWWWWMMMMMMWWWMMWWWWWW@@@@@@@@@@@@@@@@@@@@@@W@@@WWWWWWWWWMMMMMMWWWWW@@@@@@@@@@@@@WWWWWW@@@@@@#+.....,,,...,.,,,;*##;;iii*+++++****ii*+#*ii*
,+x#@@@@@@@WWWWWMMMMMMWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@WWWW@WWWWWWWWWMMMMMMMWWWW@@@@@@@@@@@@@@@WWWW@@@@@@@#x,,.,,,,..,,,,::;i+zi:;ii*+##*****ii**++*iii*
n@#@#@@@@@@@WWWWMMMMMWWWWWWWWW@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWMMMMMMMWWWW@@@@@@@@#@@@@@@@WWWW@@@@@@@@@:,..,,,,:::::;;*+z+::i*++##+++******++iii***
#@####@@@@@@WWWWWMMMMWWWWWWWW@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWMMMMMMMMWWWW@@@@#@@##@@@@@@@@WWW@@@@@@@@#n,,::;;;;::;;i*+z+;:;*++###+++****+##iii*+zz
######@@@#@@WWWWWWMMMWWWWWWW@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWMMMMMWWWWW@@@@@@@@@@#@@@@@@@@@W@@@@@@@@@W#i:;;iiiiiii*+#z+;:;*+##z###++***+z+*ii+zz*:
@@####@@@@@@WWWWWWWMMWWWWW@@@@@@@@@@@@@@@@@@@@@@@@WWWWWW@WW@WWWWWWMMMWWWWWW@@@@@@@@@@@@@@@@@@@@@@WW@@@@Wzi+Mzi**i++++##zz*;:;i+##zz#++++#+#z+ii+z+;:::
@@@@@@@@@@@WWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@@WWWWWWWWWWWWWWWW@@@@@@##@@@@@@@@@@@@@@@@W@@@niinW@@#*#++##zzxn*;:i*+##zz##+++##zn#i*+*;,,:+x
@@@@@@@@@@@WWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@WWWWW@W@@@WWW@@WWWWWWWWWW@@@@@####@@@@@@@@@@@@@@@@@@x*:#W@Wxnz:*znnxxx#;:;i*+##nnzz####zxx**#i:,::+zxx
@@WWWWWW@@WWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@W@@@@WWWWWWWW@@@@@#####@@@@@@@@@@@@@@@@M#i*nWWx+i*xi,;#zn+i;;;i*+#nnnnn####znz++i,:::*xMnzx
WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWW@@@@@@######@@@@@@@@@@@@@Wn*+xWWWn*i;+WW:,,,,,:;**+#znxxxxnzzznxx#;...:+xMxxMzn
WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@#######@#@@@@@@@@@x*inWWWx+**i+xW@n,,,,;i*+znnxMMxMxnzznn*:,...i#xxMMxMx#
WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@@@@@@@x+#zMWM#***#nxMMW@x*ii*#znnxxMMxMMnzz#i,,,,:*#zznMMMMMMn
WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########@@@@@@@WnWMWMx+;*+#MWMMMM@#@Mx#nnnxMMxxMxznni..:,;#Mxzz#zxMMMWWn
WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@#@@@W@@n+zxW#iiiinWWWWMMMW@@@W:,:i#xxxzzzzi,,,.:#MMxMnzzzxMWWxnn
WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@#########@#@@@@@@@@@@@@@@@@@@@@@@@#############@@@@Wnzznz*;**+nM@WW@WMMMW@@x,,,::*#*##i:,:,:#zxxMxMMnxxxWxxxMW
WWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@################@@@@@@@@@@@@@@@@@@@@@@@@###########@@@@x#xMn+:,;*zWMxWWWWWMnx@@@+,..:*#z#;,,,,;#xxznMMMWWxMxxMW@@@W
WWWWWWWWWWWWWWWWWWWWWW@@@@@@@@##@@##################@@@@@@@@WW@@@@@@@@@@@@@###########@@#@nnMn*,,,ixWWWMMW@@MnzM@WM;:;*nxn;....;#MMMMnnMMWWWMxxW@@@@@M
WWWWWWWWW@WWWWWWWWWWWWW@@@@@@@##@##################@@@@@WWWWWWWWW@@@@@@@@@@###########@@#@Mz#:,::+#WWWWWMMW#+#nWWW#:izn+;,,..,*nMMMMMMxWWWWxxW@WW@@@@x
WWWWWWW@@@WWWWWWWWWWWWW@@@@@@@#####################@@@@WWWWWWWWWWWWW@@@@@@@###########@@@@@+:,:;+nnxWWMWWM+zxMxzzn+zi+;,::,;+##nxMMMMWMMMnxW@WWWWWWMz*
@@@W@@@@@@@@WWWWWWWWWWW@@@@@@@####################@@@@@WWWWWWWWWWWWWW@@@@@@###########@@@@@n::ixWnznxMWWxixW@@@@MMWW,,:,:;zMzzzzxMWWWWxznM@@@@WWMx#*i*
@@@@@@@@@@@@WWWWWWWWWWW@@@@@@@###########@@@@@@@@@@@@@WWWWWWWWWWWWWWWW@@@@@###########@@@@@M:zMMWMxnnxMz*#nW@@@@@WW@:`:;#xxMMnnznMWWxnnM@@@@@Wn#***i**