@@@@@@@@@WW@WW@@@@W@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@M#M;i:::;*zzznz#i#zznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz*#nnnz*iii#WWWWMMWMMxxxxxMWW@WWWWWWWWWWWWWMxxnxx
@@@@@@@@@WWWWWW@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x;x;i;:;i#zznzi#nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzi+znz+iiiinMMMMMMMxnzxxxnxWWWWWW@@WWWWWWWWMxxxx
@@@@@@@@@WWWWWW@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M;ii;i:;+zzzzi#nnnnnnnnnnnnnnnnnnnnnnnnnnxnnnnnnnnnnz*izzziiii*xMMzzMxxxznnnnzWWWWWW@@@@@@@@WWWMxxx
@@@@@@@@@WWWWMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wi:;:i;i#z#i+znxnnnxnnnnnnnnnnnnnnnnnnnnnxnnnnnnnnnnnz*i#z+iii*##**MMxxxxxxMxzMWWWWWWWW@@@@WWWWMMMM
@@@@#@@@@WMMMMW@@@@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@W#::::;+#+i*nnxxnnxnnnnnnnnnnnnnnnnnnnnnnnxnnnnnnnnnnnz*i##iiiiiiinMMMMMxxMWMMWWWWWWWWWWWW@@WWWWWWW
@@@@###@@WMxMMW@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@WM*:::i+*;*znnxxnnxnnnnnnnnnxnnnnnnnnnnnnnnxnnnnnnnnnnnz*i+*iiii*#znMMMMMMMWWWWWWWWWWWWWWWWWWWMWWWW
@@@@@#@@@WMxMMWW@WWMW@@@@@@@@@@@@@@@@@@@@@@@@@@@##@Wz;:::;;;*znnnxnnxnnnnnnnnnnnxnnnnnnnnnnnnnnxnnnnnnnnnnnzii*ii****+##nMMMMWWWWWWWWWWWWWMWMW@@@WWWW@
@@@@@##@@WWMMMWWWMMWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W;::::;;izznnnnxnxnnnnnxnnnnnxnnnnnnxnnnnnnnxxnnnnnnnnnnnz*ii***#xMMWWWWWWWWWWWWWWWWWMWWWWW@@@@@W@@
@@@@@@#@@WWMMMMWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x::::;;i#znnxnnxnxnnnnnnxnnnnnxnnnnnxnnnnnnnnxxxxnnnnnnnnnz******+MWWWW@WWWWWWWWWWWW@WWWWMW@@@@@@@@
@@@@@@@@@@WWWWWWW@@WW@@@@@@@@@@@@WWWW@@@@@@@@#@@@@@x:::i;*#znnnxnnxxnnnnnnnxnnnnnxxnnnnnxnnnnnnnnxxxxnnnnnnnnnz****+*zWW@@@WWWWWWWWWWWW@WWWWWW@@@@@@@@
@@@@@@@@@@WWWWWWW@@@WWW@@@@@@@@@WWWW@@@@@@@@@@@#@@@M;::*#zznnnnxnnxxxnnnnnnxxnnnnnxxnnnnxxnnnnnnnnxxnxxxxxxxxnn#***##*MW@@@WWWWWWWWWWWW@WWWWWWWWWWWW@@
@@@@@@@@@@@@@@@W@@@@WW@@@@@@@@@WWWW@@@@@@@@@#@@@@@@W*::;#zznnnnxxnnxxnnnnnnnxxxnnnxxxnnnnxxxnnnnnnnnxxnnnnnxxxxn+***x+nW@@@@WWWWWWWWWWW@WW@WWWMMMMMW@@
@@@@@@@W@@@@@@@W@@@@WWW@@@@@@@WW@@@@@@@@@@@@@@@@@@WMi::;iznnnxnxxnxxxnxxnnnnxxxxnnnxxxnnnnxxxxxxxxxxxxMxxnnxxxxxn+**zM#W@@@@MMMMMWWMWWWWMMWWWMMMMMxMW@
@W@@@@WW@@@@@@@@@@@@@@W@@@WWWW@@@@@@@@@@@@@@@zWWWWM*:::;;#nnnnxxxnxxxnxnxnnnxxxxMnnMMMxxnnxxnnnnnnnnnnxxxxnxxxxxx#+*+Wx@@@@@WMMMMWWWWWWWMWWWMMxMMxxMWW
@@W@@WMMWW@@W@@@@@@@@@@@@@WWW@@@@@@@@@@@@@@@@z*zz#;::::;+znnnnxxMxxxxnxxxxnnxxxMMMnxxxxxxxnxMxnnnnnnnxxxxxnxxxxxxn+**WW@@@@@WMMMMMWWWWWWWWWWWWMxxnnxMM
@@@@WWxMxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW*::::::;*+zznnnnnxMxnnxnxxxxxnxxxMMMxnxxxxnxxxMMxnnnnnxxxxxxxxxxxxzn++*M@@@@@WWMMMMMMMWWWWWWW@WWWWMxxxxM
@@@@WWMMMW@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@WW@@@WM+;::::;;izznnnxnx#+zznnxnnxxnxxMWMxxxxxxxxxxnxMMxnnnxxxxxxxxxxxxxzz++*M@@@@@@WMMMMMMMWWWWMWW@@WWWWWMxMM
WW@@WWMMWW@@WWWW@@@@@@W@@@@W@@@@@@@WWWWWW@@@@@WW#ii;;;;#znnnnxnn*::;*znnnnxxxMWMxxxxxxxxMxnnxxxxxxxxxxxMMMxxxxxxx+++*MW@@@@@WMWWWWWMWWMWWW@@WMWWWWMMMM
WW@@WWWMMW@@WWWW@W@@WWW@@@@@@@@@@@WWMWW@@@@@@@@WM+*;;;izznnnnnxn*::::*#++znxMWWxxxxnxMWMnnnnxxxxMxxMxxxMxxxxxxxxx#+++W@@@@@@WW@@WWWWMMWWW@@@MMMMxMWWMW
WW@@W@@WMW@@@W@WWWWWWWW@@@@@@@WW@WWWWW@@@@@@@@@@Wx;;;;*+#nnxnnxz*:i:::#;:i+xMMMxxxxxnzMnnnnnnxxxxMxxxxMxxxxxxxxxxz++#W@@@@@@WW@@W@@@WMWWWWW@@WMxxWWWWW
@W@@@@@WW@@@@@@@@WWWWWW@@@@@@@WWWW@@WW@@@@@@@@@@W+;#;;i;znnxxnnn*:i:::ii*znxxn#nMx+:.*xznnnnnxxxxMxxxMMMMMxMxxxxxz++zW@@@@@@WW@@@@@@@WWWWMM@@@WMMW@WWW
@@@@@@@@W@@@@@@@@WWWWWMWWWWWWWWWWW@@@@@@@@@@@@@@M;##;;;izxnnxnzzi:;;::ii#zzxnnx#;:,`,++#zznnnxxxxMMxxMxxxMxMMxxxxz++MW@@@@@@@@@@W@@@@WWWWMW@W@WWWWWWW@
@@@@@@@@@@@@@@@@@@WWWWMxxnnxxMxxxM@@@@@@@@@@@@@@x*M*;;;iznnnxnn#;::;:;;*#z+*x#.,+z*.::::i+znnnxxxMMxxxMxxxMxMxxxxz+zWW@@@WW@@@@@@@@WWWWWWWWWW@WWWWW@@@
@@@@@@@@@@@@@@@@@@WWWWMMMxxxxMxxxxMW@@WW@@@@@@@@MnM*;;;iznnnnnnnz#*i:;;+#;:i*#..*#**::::::;#nnxxxMMxxxMxxxMxMMxxx#+xMWW@@@W@@@@@@@@WMMWWWMMWWWWWW@@@@@
#@@@@@@@@@@@@@@@@@WWMMMWMMMMMMMMMxxMWWWWW@@@@@@@WWW+;;;;#nxxxn*nzzz+::;+;:;:++i**+#::::::::innxxxMxxxMMxxMMxMMxxn+zMMMWW@@W@@@@@@WMWxMWWMMMMWWW@@@@@@@
@@@@@@@@@@@@@@@@@@@WMMMMMMWWWWWWWMxMMMWMW@@@@@@@@@Wn;;i;+xxxn#ii+nnz*:::;;:;i;:::;:::::::::;znxxxMxxxMxxMMxMMxMxn#MMMMnnWWW@@@@@@@WMnxWWMMMnxxW@@@@@@@
@@@@@@@@@@@W@@@@W@@WWWWMMMMWW@@WW@WWWWMMM@@@@@@@@@@M+;i;+nxxx+i+zzxx#;:;;i;::::::::::::::::;nnxxxxxxxMMMxxxMxxMxx#+#+*zWWWW@@@@@@@WWxxMMMMMxnxW@@@@@@@
@@@@@@@W@@@W@@@WW@@@@@@WWW@@@@@@@@@@@WMMMW@@@@@@@@@WM+i+#nxnnzzMii*;#i::;::::::::::::::::::;znxxxxxxxxMMxMMxxMMx#++*#xMWWWWW@@@@@@@WWMWxxxxxnxWWW@@@@@
@@@@@@@W@@@W@@@W@@@@@@@@@@@@@@@@@@@@@@WMWWW@@@@@@@WWM#iizxnnnx+z.+z;:;:,:::::::::::::::::::;znxxxxxxxxxxMMxxxMMxz#nxMMMWWWWW@@@@@@@@@@WMMxMMMMWWW@@@@@
@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMWWWW@@@@WMM#;**znnnnn+;;+zi,;:::::::::::::::::::::;nnxxxxxxxMxMMxxxMMMxn+#xxMMMMWWW@@@@@@@@@@WMxxMMMMxMWW@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@@@Wz+;;;++nnnnnn+:*#;::;;::::::::::::::::::::innxxxxxxMMMMMxxxMxxzn#+#xxMMxWWW@@@@@@@#@@@WxMMMxxnxMW@@@@
@@@@@@W@@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@Wnzzxx+xnnxnn#,::::;:;:::::::::::::::::::;inxxxxxxxMMMMxxxxMMx#+#+*zxMMxMWW@@@@@@##@@@@MMMMMMxxW@@@@@
@@@@@@@@@@WW@W@@@@@@@@@@@@@@@@@@@@@@@@@@W@WW@W@WWWWWWWx#Mxnxnnz,::::;;;:::::::::::::::::::;inxxxxxxxMMMxxxxMMMx#+xx++MMMMWWW@@@@@@##@@@WWWWWWWWMW@@@@@
@@@@@@@@@WWW@WW@@@@@@@@@@@@@@@@@@@@@@@@WWWWW@WWWW@@@@@W+MWxMnnz;,:::;ii#z##+i:::::::::::::;*nxxxxxxMMMMxxxxMMMx#+xWW#nWWWWWWWW@@@@@@@@WWWWW@@@WWW@@@@@
@@@@@@@@@WW@WW@@@@@@@@@@@@@@@@@@@@@W@@WWWW@WWWWW@@@@@@@#WWMMMnzi,:::i+zzxnz+;:::::::::::::;+nxxxxxMMMMMxxxxMMMMz+nWWWz@@@W@@@@@@@@@@@WMMWWWW@@WWW@@@@@
@@@@@@@@@@WWWWW@@@@@@@@@@@@@@@@@@@@W@@WWW@WWWWWW@@@@@@@xMWWWWWx#,::::*zzzz#:::::::::::+;:;;+nxxxxxMMMMMxxxMMMMMn+#W@@@@@@@@@@@@@@@@@@WWWWWW@@@@WW@@@@W
@@@@@@W@@@WWMWWW@@@W@@@@@@@@@@@@@@@@WWWWWWWWWWWWW@@@@@W@@@W@@WWx,:::::*+z#;::::::::::i+::;;#nxxxxMMMMMMMxMxMMMMx#+W@@@@@@@@@@@@@@@@@@WWWWWW@@@@W@@@@@W
@@@@@WW@@WWMxMMW@@WW@@@@@@@@@@@@@@@@WW@WWWW@WWWWW@@@WWWW@@W@@@WMi,::::::+i:::::::;;i*zi;:;;znxxxMMMMMMMMMMMMMMMMn+nW@@@@@@@@@@@@@@@@@WWWWWW@@@WW@@@@@@
@@@@@MW@@WWx#nMM@@WW@@@@@@@@@@@@@@@@W@@@W@WWWWWWWWW@WMWWWWWW@@WMz,:::::;;::::;i;i;;;#z;;;;;nxxxxMMMMMMMMMMMMMMMMx#+W@@@@@@@@@@@@@#@@@@WMWWW@@@WWWW@@@@
@@@@WW@@WWMx#nMMWWWW@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@WWMMWWWWWWWWM;,::::i;;iii;::::;#z#:::;inxxxMMMMMMMMMMWMMMMMxxx#zW@@@@@@@@@@@@##@@@WMW@@@@@@W@@@@@W
@@@WMW@WWWMMxMMWWWWW@@@@@@@@@@@@@@@@@@@@WWWW@@WWWW@@@@WMWWWWW@WWWz,,:::;;::::;*#nxxMx#::;;*nxxxMMMMMMMMMMMMMMMMx#zz+zxW@@@#@@@@@@##@@@@@@@@@@@@@@@@@@@
@@@WW@@WMMMxxMMWWMWW@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@WWWMMMWWWWWMi,::::;;;+xxxxxxxnn*:;;;+nxxMMMMMMMMMMMMMMMMMMn#+++++zx@#@@@@@@@##@@@@@@@@@@@@@@@@@@
@@@WW@@WMMxnMWMMMxWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMWMMMMMWWWWx,,::::+nxxMxxnnzzn;:;;;znxxMMMMMMMMMMMMMMMMMMMz+znznx@@@@@@@@@@###@@@@@@@@@@@@@@W@@
@@WW@@@WWMxxWWMxMxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWMWWMWWWWMz.,::::#xxx#+++++#::;;;nxxxMMMMMMMMMMMMMWMMMMMMz+#xWW@@@@@@@@@@#####@@@@@@@@@@@@@@@
@@WW@@@WWxnxWMxnxxW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@WWM+,,:::;nz++***+*i:;;;*nxxMMMMMMMMMMMMMMMMMMMMMxz++xW@@@@@@@@@@@@#@@@@@@@@@@@@@@@@W
@@WW@@WWMxzxMMnnxMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWW@@@WWMi,::::******+i;;;;;;+nxxMMMMMMMMMMMMMMMMMMMMMMx#++x@@@@@@WWW@@@@@@@@@@@@@@@@@@@@@
@WWWWWWMxn#xMxzznMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@WWWM;,:::i*****;;i:;;;;zxxMMMMMMMMMMMMWMMMWMMMMMMxx#++xW@@@@@WWW@@@@@@@@@@@@@@@@@@@@
@WW@WMMMxz#xxnzznMW@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@Wx:,::;;:::;i;:;;;;inxxMMMMMMMMMWWMMMMMWWWWWWMx#n+++M@@@@@WWWWW@@@@@@@@@@@@@@@@@@
@WW@WxxMxzzxxnzznMW@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wx::::iiii;:;:;;;;*nxMMMMMMMMMMMMMMMMMMWWWWWWWn#z#+#W@@@@WWWW@@@@@@@@@@@@@@@@@@@
@WWWMxMMxnnnnnz#nW@@@W@@@@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@@@@##@@@W@@@@Wn,::::::::;*+;;;#xxMMMMMMMMMMMMMMMMMMWWWWWWWMx+xz*nW@@@@@@@@@@@@@@@@@@@@@@@@@@
@@WWxxMMxnnnnz#+zW@@@@@@@@@@@@@@@@@@@@@@WWWxz*#W@@@@@@@@@@@@@@#@@@W@@@@@W#,::;i+++##;;;;zxMMMMMMMMMMMMMMMMMMMWMMMMMWWM+nMn+W@@@@@@@@@@@@@@@@@@@WW@@@@@
@@WMnMMMnnnnz#+*nWW@@@@@@@@@@@@@@@@@@@@WMzi::::n@@@@@@@@@@@@@@@@@WW@@@@@@Wi::*#zzz#;;;;ixMxMMMMMMMMMMMMMMMMMMMWMMMWWWn+#WWxx@@@@@@@@@@@@@@@@@@@WW@@@@@
@WWMMMMxnnnnz#+*nW@@@@@@WW@@W@W@@@@@@@Wx;,,:i::*W@@@@WWWW@@@@@@@W@@@@@@@@Wx,::;++i;;;;izxxMMMMMMMMMMMMMMMMMMMMWMMWWWWn++W@@W@@@@@@@@@@@@@@@@@@@@@W@@@@
@WWMMMMnznnn##++xW@@@@@WWWWWMMW@@@@@WMx+,,,:i::#W@@@WMxxxxxM@@@@@@@@@@@@@@W*,::;;;;;;izxxxMMMMMMMMMMMMMMMMMMMMWWWWWWMx++x@@@#@@@@@@@@@@@@@@@@W@@@@W@@@
@WMMMMxzznnz+##+xW@@@@@MWMMxxMW@@@WWMxn*::::;:+nM@WWxxxxxxxxM@@@@@@@@@@@@@Wn,::;;;;;+nxxxMMMMMMMMMMMMMMMMMMWWWWWWWMMMx#+z@@@@@@@@@@@@@@@@@@@@WW@@@@@@@
WWMMMMnz+nxz*+#+xW@@@@@@WWWMMW@WWMMxxnn+:::::*znx@WMMxxxxxxxxW@@@@@@@@@@@@@W+::;;;izxxxxMMMMMMMMMMMMMMMMMWWWWWWWMMMMMM#+#@@@@@WW@@@@@@@@@@@@@@@@@@@@@@
WMMMxxn#+nxz+##+MW@@@@@@@@WMxWMMMMMxxn#+i;;i#znnx@MxxxxxMMxMM@@@@@@@W@@@@@@WWMn##zxxxxxMMMMMMMMMMMMMMMMWWWWWWWMMMMMMMMz+#W@@@@@@@@@@@@@@@@@@@@@@@@@@@@
WMMWxxn+#xMn###+xWW@@@@@@@MxMMMMMxxnz::::::*znnxxMxxxxxMMMW@@@@@@@@@W@@@@@@WMMxxxxxxxMMMMMMMMMMMMMMWWWWWWWWMMMMMMMMMMMz+#W@@@@@@@@@W@@@@@@@@@@@@@@@@@@
WMMMMxnznxMxzz#+MWWWWWW@@WMMMMMMxxxz::::::iznxxxxxxxxxMMWW@@@@@@@@W@@@@@@WMMMxxxxxMMMMMMMMMMMMWWWWWWWWWMMMMMMMMMMMMMMMn+#W@@@W@@@@@@@@@@@@@@@@@@@@@@@@
WMWWMxnnxMMxznzzMWWWWWMWWWWMMMMMMxn+:::::;zxnxxxxMxxxMMMWW@@@@@@@@MW@WWWMMxxnnnxMxMMMMMMMMMWWWWWWWWMMMMMMMMMMMMMMMMMMMn+#W@@@@@@@@@@@@@@@@@@@@@@@@@@@@
WMWWMxn#nMMxnnnnWWWMxMMMWWMxMMMxxxx*:::::#xnxxxxxMxMMMMW@@@@@@@@@@W@@xnMxnnnnnxxMxMMMMMMMWWWWWWMMMMMMMMMMMMMMMMMMMMMMMn+z@@@@@@@@@@@@@@@@@@@@@@@@@@@@W
WMWWWMnzxMMxnxnxMWWMxxxMMMMMxMMxxn+;iii;+nnnxxxxxMMMMMW@@@@@@@WWWWW@@n*nxxxnnxxxxMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM@@@@@@@@@@@@@@@@@@@@@@@@@@@@W
MMWWWMxnxMxznxznMMMMxnxMMMxxxxMxn#:::::#nnnxxxxxMWWMMMMW@@@@WWWxxMW@@W**nxxMMxxxxMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM@@@@@@@@@@@W@@@@@@@@@@@@@@@@@
xxWWWMxzxMx#zxznxxMxnnnMMMxxxxxxn;:::;+nnnxxxxxMW@@@MxMMWWWWWWxnnxW@WMn:;zxxMMMxxMMMMWWWMMMMMMMMMMMMMWMMMMMMMMMMMMMMMWMMMWWW@@@@@@@@W@@@@@@@@@@@@@@@@@
xMWWWMnzxMxznnnnnxxnnnxMxxxxxx#i;i:::*nxnnxxMxMW@@@@MxMxxxMWMMnnnnMMMxn*:*znxMMMxxMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMW@@@@@@@@W@@@@@@@@@@@@@@@@W
MWWWWMxxMxxznnxnnnnnnnxxxxxxx#::::i:;znxxxxxMW@@@@@@MnxxnnMMxnnnnnxxnnn#::+nxxMMxxMWWMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMWWMMMMMMMMMMWWWWWW@@@@@@@W@@@@@@@@@
WWWWWMMMMMxnnnxnnnnnnnMxxxMxx;:::::i#nxxxxxMW@@@@@@Mnnnnnnxxnnnnnnnnnnz+iiiznxMMMxMWWMMMMMMMMMMWMMMMMWMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMWWWWW@W@@@@@@@
WWWWWMxxMMMnznnnnnnnnxMxxxMxn:::;;:#nnxxxxxW@@@@@@Wnnnnnnnnnnnnnnnnnnnz++i++zxMWMxWWMMMMMMMMMMMMMMMMMWMMMMMMMMMWMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWW@@@@
W@WWWMnxMMMnznnnnnnnnMxxxxxxn;::;i+nnnxxxxxW@@@@@@xnnnnnnnnnnnnnnnnnnzzi+;+i*xMMWWWMxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWW
@@W@WMnxxxxznnnnnnnnxMxxxxx#+*:::*nnnxxxxxW@@@@@@Mnnnnnnnnnnnnnnnnnnzz*,i:+;;zxxMWMxxMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWWW
WWWWWMxxxxn#nnnnnnnnMxxxxxx+;;::izxnxxxxMW@@@@@@@xnnnnnnnnnnnnnnnnnzzz::::i::++nMMMxxxxMMMxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWW
@@WWMMMxxxn#zznnnnnxMxxMMMx#:i;iznxxxxWWW@@@@@@@Wxnxxxxxnnnnnnzzzzzz#i,,,:;::i:+xMxxxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWMMMMM
@@@WMMMxxxnzzznnnnnMxxxMMMxx;;iznxxxxMW@@@@@@@@@WxxMMMMMxxnzzzz#++i;,,:i:::::::;nMxxxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMWWWMWWMMMMW
@@@WMMMxnxnznznnnnxxMxxMMMMxz;znxMMMW@@@@@@@@@@@WMMMMMMMxxn+*;:,,,,,,:,:i::::::i*znxxxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMMWMMWWMM
@WWxnMMxxxzznnnnnxMxMxMMMMMMMxxxMW@@@@@@@@@@@@@@WMMMMxxn#i,,,,,,,,,,:::::i:::::**i#nxxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMWMMMMMMMM
WWxznMMxnx#znzznnMMMMMMMMMMMWWWW@@@@@@@@@@@@@@@WWMxxn#i,,,,,,,,,,,,:::::::i::::*+;;#nxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMWMMWMMMMMMMMMMMM
Wn+#nMMxnn##zznnxMMMMMMMMMMW@@@@@@@@@@@@@@@@@@WWMxzi:,,,,,,,,,,,::::::::::;i:;i++i**zxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMWMMMMMMMMMM
M+*zxMMxnz+#zznnMMMMMMMMMMM@@@@@@@@@@@@@@@@@WMMx#;,,,,,,,,,,,:::::::::::::;+++*+i;;;;#xxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWWWMMMMWMMMMMMMMMMM
n#znMMxxn#+#znnnMMMMMMMMMMW@@@@@@@@@@@@@@@WWMz+:,,,,,,,,,,,,:::::::::::::***+*i:::;;;;zxxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMWWMMMWMMMMMMMMMMMMMM
xnnnMMnnn++zznnxMMMMMMMMMW@@@@@@@@@@@@@@@WW#:::,,,,,,,,:,,::::::::::::::i**i:::::;;;;;izxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMWWMMMMMMMMMMMMMMMMMMM
nnnxMxznz*+zzzxMMMMMMMMMW@@@@@@@@@@@@@@@WWz::;:,,,,,,,:::::::::::::::::;*+;:::::::;;;;;inxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMWMMMWMMMMMMMMMMMMMMMM
nnxxMxzn+*+zznMMWMMMMMMW@@@@@@@@@@@@@@@WMz:::;,,::::::::::::::::::::::;+*i::::::;;;;;;;;inxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWWWMMMMMMMMMMMMMMMMM
#znxMnzn###nnMMWWMMMMMW@@@@@@@@@@@@@@@WM#::::;::::::::::::::::::::;;:;**i::::::;;;;;;;;;;*nxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMWMMWMMMMMMMMMMMMMMMMMMM
+#nMMnnnnzzxMMMMWWMMWW@@@@@@@@@@@@@@WWM*::::i::::::::::::::::::::;;;;***;;;;;;;;;;;;;;;;;;*nxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMWWMWMMMMMMMMMMMMMMMMMMMM