#####zzzzzzzzznzznnnnnnnnnnxxxxnxxxxxxxxxxxxMxxxMxMMMMMMMMMMMMxnnzzzzzzzzzzzzz######zznxMWWWWWWMMMMMMMMWWMMWMMWMMWWWMMWWWMWMWWWMWWWMMMMMMMMMMMMMMMMMMM
###zzzzzzzzznnznnnnnnnnnnnnnnnxxxxxxxxxxxxMMMxxxMMMMMMMMMxnzz####z#zzzzzzzzzzzzzzzzzzzzz##zxMWWWMWMWWMMMMMMMMMMMMWMMMMMMWMWMMMWWWWWMMMMMWMMMMMWMMMMMMM
#####zzzzzzznnnnnnnnnnnnnnnxxxxxxnxxxxxxxxMMMMMMMMMMMMxnz##z##zzzz##zzzz#zzzzzzzzzzznzznzzzz#znMWWWWWWMMMWMMMMWWMWWMMWWMMMMMWMWMWMWMWMMMMMMMMMWMMMMMMM
z####zzzzzznnnnnnnnnnnnnxxxxxxxxxxxxxxxxMxMxMMMMMMMx#####################zzz#z#zzzzzzzzzzznnnz#+zxMWWWMWWMMMWWWWWWWWMMMMMMMMMMWMMWWMWMMMMMMMMMMMMMMMMM
zzzzzzznnnnnnnnnnxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMxMx#i+#################zz#z#zzzzzz#zzzzzzzzzznnnz#++nMWWWWWWWWWWWWMWWWMMWWMMMWMMMMMWMMMMMMMMMMMMMMMMMMM
zzzzzzznznnnnnnnnnnxnxxxxxxxxxxMxxxMMMMMMMMMMMMx#*+##################zzzz###zzzzzzzzzzzzzzzzzznnnn#;inMWWWWWWWWWWWWWWMMWWMMMMMMMMWWMMMMMMMMMMMMMMMMMMM
znnnnznnnnnnnnnnnxxxxxxxxxxxxxxMMMMMMMMMMMMMMM#i*############z##zzz##zzzzz##zzzzzzzzzzznzzzzzzzznnnn+;+WWWWWWWWWWWWWWWMWWWMMMMMMWWWMWMMMMMMMMMMMMMMMMM
nnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMMMnii+#####zzznnnnxMxnMxzxz#zz###########nnnMMxMMxnxxxnnnnnn+inMWWWWWWWWWWWWWWWWWWWMWWMMMMMMWMMMMMMMMMMMMMMM
nnnxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMM+;*++###nxMxxMWWMMWMMWWxMn##z#######+##zWMWWWW@@WW@@WMWWMnnxn++xWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWni;*##nMWWWWWWMWWWMWMMMWWMWM#z#####++++++zWWWWW@@@@@@@@@@@@WWWWMz+#xWWWWWWWWWWWWWWWWW@W@W@WWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@WWWW@n;;+xxM@WW@WMMWMMMWMMMMMMWMWM#####+#++++++nWWWW@@@@@@@@@@@@@WW@@WMM++nW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@+::#@@@W@@W@WMMWMMMMMMMMMMWMWM#zz##+#++++++nWMWWW@@@@@@@@@@@@WWW@WW@@z*+W@W@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW+,zxM@@@@@@W@WWMWMMMMMMMMMMWxMxzz###+#+#+++#nWMWWWW@@@@@@@@@@@@@@@WWWW@MM*M@@W@@@@@@@@@@@@WWWW@@@@@@@@@@@WWWWW@@
xxxxxxxxMMxxxMMMMMMMMMMMMMMMMMMWWWWWW*#MWWW@@@WW@WWxxxnznnnzznnzxxnxnzzz####+#####zxxxMxxxxnxMMxMWWMWWW@WWW@@@@x+M@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWW
nxxxxxxxxxxxxxxMMMMMMMMMMMMMMMWMMWWW*:WWWW@@WWMxnnnnnnnnnnnzzzz#zz#zzzzz###########zzzznnnnxxxMMMMMxMMMMMWW@@@#@@*xWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
xxMMMMMMMMMMMMMMWMMMMMWWWWWMWWWWWWW*;nWWWWxnz#zznxxxxxxxxxxxxnnnnnzzzzz##########zzznnxxMMMMMMMMMMMMMMxxxnxMW@#@@M*M@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMWWWWWWWWMMMWWWWWWMMMWW#iMMWMMn##znxnnnnnnxxxxxxxxxxxxxnnzzz#####zz##zzznxxMMMWMWWWMMMMxxxxxxMxxxxM@@@@W+MWMxWWWWWWWW@@WWWWWWWWWWWWWWWWWWWW
MWWWWWWWWWWWWWWWWWWWWWWWWWWMnzzxM#,+WMMzz#znxxnzzznnnnnnxxxxxxxxxxxnnz######zzzzznnxMMMMMWWWWMxxnnnnxxxxxxMxxxMM@@@#:W@WWW@@W@@@@@@@@@@@@@@@@@@@@W@@WW
WWWWWWWWWWWW@@@@W@@@@@@@@@M++#zxx:.iMzz#znxxxzzzzznnnxxxxxxxxxxxxxxxnnz#####zzzznnxMMMMMMWWMMxnnnnnnnnxxxxxxMxxMMWWz`i@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@W#*###x;,`,+#zznxxnnzzzzzzznnxxxMMxxxxxxxxxnzz######zzznxMMWWWWWMMxnnxnnnnnnnxxMMMMMMMMMMMi;`#W@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@W@@@@@@@@@@@@@@@@@@n+**+#i:``;+#znxxxnnzzzzzzzznnxxMMMxxxxxxxxnnz#####zzznnMMMMMMMMWxnnnnnnznnnxxxxMMWWMMMMMW#*`.zWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWW@WWWWWWWW@@@@@@+zMx+i:,`.i#znxxxxnnz#*zxxxMMxxxMWMMxxxxxxxnnz#####zzznxMMMMMMMMMnnxnnxMMMMMxxnxMWWWWWMMMMx+:`,x@@WW@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWMzMMx;,;.`.*znnxxxxMzi;:xxMMWWMxxxxWWxxxxxxnnnzz####zzznxMWWMMMMMMnxnnMMWWWWMxx#znW@WWWMMMMWzi`.*@@W@@@@@@@W@@@@@@@@WWWWWW@@@@
MMMMMMMMMMMMMMMMMMMMMWWWzxMxM:;;``.+znxxxxxx*::;xnxMMWWxxx+zxxxxxxnnnnz###zzzznnxMWWWMMMWMn+i#nnMWWWWMxzzzxWWMMMMMMWM+;*,x@@@@@@@@WWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMMWWMMMW#Mxz#:i;``:#znnxxxxn;::;n##nxxWxzz##zxnnxnnnnzz##zzzznnnxMWWWMMMWW+iiz##xxxWMnnz#zxMMMMMMMMWWzi+*:W@@@@@@@WWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMMMMMMMMzMzn:*i:..+#zznnxnnzi:::xnnMMMMnnn+#zxnnnnxnnz###zzzznnxxMMWWWMMMM#i;+xnMWMMxxn##zxMMMMMMMMMWx*#n;*@@@@@@@WWWWWWWWWWWWWWWWWWWW
xMMMMMMMxMMMMMMMMMMMMMMMzMz;;*i:,;+##znnnznni;::zxxMMMxnn#+#nxnnnxnnzz#####zznnxMMMMWWMMMMx*i*xxxMMMxxx#znxWWMMMMMMMMMz*nn,n@W@@@@WWWWWWWWWWWWWWWWWWWW
xxMxxMMMxMMMMMMMMMMMMMMMnMi:**i:;*+##zzzzznnz;;;;nxxxxnnz*+zxxxxxxnzzz#####zznnxMMMMMWWWMMMn*i+Mxxxxxx##znMWWMMxMMMMMMx+zx#:WW@@@@WWWWWWWWWWWWWWWWWWWW
xxxxxxMMMMMMMMMMMMMMMMMMnx:i**i;i++#####zznnx+*iiizxxxn#*#nxMxxxnnzz#########znxxMMMMMMWMMMxxz+#nnxxn##zznMWWMMMxxxxMMMzzxx;+W@@@@WWWWWWWWWWWWWWWWWWWW
xxxxxxxxMMxMMMMMMMMMMMxxni;***ii*++++##zzznnnzz#+**+++##znxxxxxnnzz#####+####znnxxxxxxxMMWMMxnnz######znxxMWWMMMxxxxMMMxznxz:M@@@WWWWWWWWWWWWWWWWWWWWW
xxxxxxxMMMxMMxxxxMMMMMMM+,i**ii*++++++##zzznnnnzzzzzznnnnnxxxnnnzzz#####++###znnxxnxxxxxxMMMMxnnnnnnnnxxMWWWMMMxxxxxxxMMxnxn+;@@@WWWWWWWWWWWWWWWWWWWMM
xxxxxxxxxMxxxxxxxxMMMMMx,ii**i**++++++##zzzzznxnnnnnnnnnnnnnnnzzzzz#####++###zznxxnxxxxxxxxMMMxnnnnxxxMMWWWMMxxxxxxxxxMMMxxnn;n@@WWWMWWWWWWWWWWWWWWMWW
xxxxxxxxxxxxxxxxxxxxxMx;:iiiii*+++++++##zzzznzznnnnnnnnnnnnnzzz#######+++++##zznxxnxxMMxxxxxMMMxxxxxxMMMMxxxxxxxxxxxxxxxMxxxn#iW@WWWMWWWWWWWWWWWWMWWWW
xxxxxxxxxxxxxxxxxxxxxx+,iiiii**+++++++####zznnnzzznnnnnnzzz#######z###+++++##zznxxxxxxMMxxxxxMMMxxxxxxxxxxxxxxxxxxxxxxxxMxxxxn*+W@WWWWWWWWMMMMMMWWMMMM
xxxxxxxxxxxxxxxxxxxxx+;:iiiii*++++++++++##zzznnnnnnznzzzz####++###z###+++++###znxxxxxxMMxxxxxxxxxxxxxxxxxxxxxnxxxxxxxxxMMMMxxxz*ixWMMWMWWMMMMMMWWMWMMM
xxxxxxxxxxxxxxxxxxxx*i,iiiii**+**++++++++###zzzzzzzzzz###++++++#######++**++##znxxxxxxxMxxnnnnnxxxnnnnnnnnnnnnxxxxxxxxxxxMMMMxx#+*#WWMMWMMMWMMMWMWMMMM
xxnxxxxxxxxxxxxxxMx+*::iiii**++*++++++++++++############++++++###+++#+++**++##znxxxMxxxMMxnnnnnnnnnnnnnnnnnnnnxxxxxxxxxxxMMMMMxz#x;+MWMWMWWMMMMWWWMMMM
xxxxxxxxxxxxxxxxxM+i*.;ii****+++++++++++++++#######+++++++++++#+++++#++**+++##znxxxMxxMMMxnnnnnnnnnnzzzzznnnnnxxxxMxxxxxxMMMMMMn+Mn**MWMWMMWMMMMMMMMMM
nxxxxxxxxxxxxxxxx#i*;.;;i***+++++++++++++++*++++++++++++++++++##+++##+****++##zznxxxxMMMWMxnnnnnnnnnzzzzzznnnnxxxMMxxxxxxMMMMMMxzz@niinWMMMWMMMMMMMMMM
nxnxxxxxxxxxxxxxz:ii:,;;i**++++++++++++++++*++++++++++++++++++z#++++++****++##znnxxxMMMMWMxxnnnnnnnnnzzzzznnnnxxxMMxxxMxxMxMMMMxx+@W#*inWMMMMMMMMMMMMM
nxnxxxxxxxxxxxxni;i*..;i**+++++++++++++++++******++++++++++++#zz++##++*****+###nxxxxMMMMWxxxnnnnnnnnnnzzzznnnnxxxxxxxxxMMMxMMMMMM#M@W*i;#MMMMMMMMMMMMM
nxnnxxxxxxxxxxn*i;+#`.:i*++*+++++++++++++*********+++++++++++#zz#+#++++***++##zznxxMMMMWWxxnnnnnnnznnzzznznnnnxxxxxxxxMxMMMMMMMMMzn@#M**i+MMMMMMMMMMMM
nnnnnxxxxxxxxx*;i*##``,i++++*++++++++++++*********++*+++++++++#nz##++++***++###znxxMMWWWMxxnnnnnnzznzzzznnnnnnxxxxxxxxxxMxMMMMMMMnz#@@n*+*+xMMMMMMMMMM
nnxxnxxxxxxxz#;*+#nn``,i+++++++++++++++++*+********+++++++++++#zxMMn+++***+++##zxxxMW@WWMxnnnnnnnnnnnznnnnnnnnxxxxxxxxxMMxMxxMMMMx#@@@@n++++xMMMMMMMMM
nnnxnxxxxxxn;i*##nxn `,*+++++*+++++++++++++*********++*+++++++##zMMx#++****++##znxxM@@WMxxnnnnnnnnnnnnnnnnnnnnxxxxxxxMMMxxMMMMMMMx+@@@@M#****xMMMMMMMM
nnnxnxxxxxn*i+#z#zM# `:++++++++++++++++++++*********++++++++++++#zzz#+*****++##znxxW@@WMxxnnnnnnnnnnnznnnnnnnnxxxxxxxMMMMMxMMMMMMM+@@@@Wx#+**+MMMMMMMM
nnnnnxnxn#*i#z##zMM# `;+++++++++++++++++++**********+++++++++++++####+*****++##znxM@@WWMxxnnnnnnnnnnnnnnnnnnnnnnxxxxxMMxMMMMxMMMMM#@@@@WMzz+#*iWMMMMMM
nnnxnxxn++*+zz##xWM# `;++++++++++++++++++++*********+*++*++++++++###z#*****++##nxxW@WWWMxxxnnnnnnnnnnnnnnnnnnnnxxxxxxxMxMMMMMMMMMx#@#@@@Wxn##++#WMMMMM
nxnnnxn#*i++###nMWM# `i++++++++++++++++++************+++++++++++++####*****++#znnxWWWWMMxxxnnnnnnnnnnnnnnnnnnnnxxxxxxxMMMxxMMMMMMMz##@@@@Mxn##++zMMMMM
nnnxnnz++*n*++nMWWWn``i+++++++++++++++++++**************+++++++++++###+****++#znnxMWWWMMnxnnnnnnnnnnnnnnnnnnnnxxxxxMMMMMMMMMMMMMMMn##@@@@WMnz##+#nWMMM
nnnxz++*+*#+##x@@WWW,.*++++++++++++++++++*+******++******+++++++++####+****++#znxxMMMMMxnnnnnnnnnnnnnnnnnnnnnnxxxxxxxMxMMMMMMMMMMMx##@@@@WWxxnz#+inMMM
nnnn#++#*###znM@@WW@i,*++++++++++++++++++++**********+**++++++++++#####*****+#znxxxxMMMxnnnnnnnnnnnnnnnnnnnnnnxxxxxMMMMMMMMMMMMMMMM@@#@@@@Wxxzzz+z*MMM
nxnn+*+#++##xMW@@WW@z*+#++++++++++++++++++++**+***++++++++++++++++#####+***++#znxxxxxxxxnnnnnnnnnnnnnnnnnnnnnxxxxxxMMMMMMMMMMMMMWMW@###@@@WMxxxnn###MM
nzz+**+#++znxM@@@WW@n########++++++++++++++++++*++++++++++++++++++#####+***++#znxxxxxnxxnnnnnnnnnnnnnnnnnnxxxxxxxxxMMMMMMMMMMMMMWM@@#####@@MWxxxnn##xM
zz+;#++###nMMxW@@WW@Mz#######+#+++++++++++++++++++++++++++++++++++######***++#znxxnnnnnnnnnnnnnnnnnnnnnnnxxxxxxxxxMMMMMMMMMMMMMWWW@@######@WWMxxnnn##x
xn;*++###zxMWWW@@WW@Mnz######+##++++++++++++++++#+++++++++++++++++######+***+#znxxxnnnnnnnznnnnnnnnnnnnxxxxxxxxxxxMMMMMWWMMMMMMWW@#########@@MMMxxnn+#
Mi:+*+#znxWWWWWWWMM@Wnzz#########++++##+++#####zz##+++++++++++++++++####+***+#znxnnxnxxnznznnnnnnnxxxxxxxxxxxxxxxxMMMMMMMMMMMMWWW@######@##@WWWxxxMzn#
#:i++#zznMMWWWWWWxxMWxzzzz###################zznxnz##+++++++++++++++####+***+#znnnnnnxnnnnnnnnnxnxxxMWWMMMxxxxxxxMMMMMMMMMMMMMWWW@######@@#@@WWMMMxxz#
;;*+*znxxWMWWWWMxxxMWWnzzzz###################znnxxnz##+++++++++#########****+zxnnnnnxxxnnnnnnxxxxMWWWMMxxxxxxxMxMMMMWWMMMMMWWWW@@######@#@@WMWWMxxxnz
::*+z#nxMnMWW@WxxxxxMWxzzzz##################zzzznxxxnz####+++++########z+i**+zxnnnnnnnxnnnnxxxxMWWWMMxxxxxxxxxMMMMMWWMMWMMWWWWW@#######@@@@@@MWxMxxnn
:;+z#nMMWWWWWWxnnxxxMWMnnnzzz####z########z#######znnnxnzz###++###########***#nnnnnnnnxxnnnxxxMWWWMMMxxxxxxxxxMMMMMMWWWMWWMMWWW@@#######@@#@@W@WWMxMxx
;;+#nMMWMWWWWxxxxxxxMMWMnnzzzzz##zz##############++#znnxxnnzz############zz##znnnnnnnxxxxnxxMWWWMMMMxxxxxxxxMMMMMMMMWWWMMWWWWW@@@@########@@@@WWWMWWMx
:;*zzMxWWWWWxxxxxxnxxMMWxnnzzzz#z#zzzzz#z########+++###znnnnnnz#z####z###zzzzznnnnnxxxxMxMMWWMMMxxxxxxxxxxxxMMMMMMMWWWMMWWWWWW@@#######@@@#@@W@@@@MWMW
;;*zMMMWWWWMxnxxxxnxxxMWMnnnzzzzzzzzzzzzz#########+++++###znxxxxnnzzzz#zzzzzzznnnxxxMMWWWWWMMxxxnnxxxxxxxxxxMMMMMMMWWWWWWWWWW@@########@@@##@@@@@WWMWM
:i+nxMWWWWMxxnxxxxxxxxxMWxnnnzzzzzzzzzzzzzz#######++++++++##zznxxxxxxnnnnnnnnxxxMMMWWWWWWMxnnnnnnxxxxxxxxxxMMMMMMMMWWWWWWWWW@@@@@@@##@@@@@@@@W@@WWMWMM
:i+zxWWWMMxnxxxxxxxxxxxMWWxnnnzzzzzzzzzzzzz########+++++++++++#zznnxxMMMMWWWWWWWWWWWWWMMxnnnnnnnxxxxxxxxxxMMMMMMMMMMWWWWWWW@@@@@@@@#@@@@W@@@@@@@WWWWWW
++*#xWWWxxnxxxxxxxnxxnxWW@Mxnnnzzzzzzzzzzzz##########++++++++++++###zznnxxxMxxxxxMxxxxxxxnnnnnnxxxxxxxxxMMMMMMMMMMMWMMWWWW@@@@@@@@@@@@@@WW@@@@@@@@@WWW
z++nMWWMxxxxxxxxxnnxxxMWWW@Mnnnnzzzzzzzzzzz############++++++++++######zzzzzzzzznnnnnxnxxnnnnnnxxxxxMMMMMMMMMMMMMMMMWWWWWW@@@@@@@@@@@@@@WW@W@@@@@@W@WW
Mz#nxWMMxxxxxxnxxxxxxMWWWW@Wxnnnnzzzzzzzzzz#z##############++################zzzznnnnnnnxxnnnnxxxxxxxxMMMMMMMMMMMMMWWWWW@@@@@@@@@@@@@@@WWWWW@@W@@@@W@W
@xznWMxxxxxxxxxnxxnnMWWWWW@WWxnnnnzzzzzzzzz#z#zz##############+############z##zzznnnnnxxxxnnnnxxxxxxMMMMMMMMMMMMMMMWWWW@@@@@@@@@@W@@@@@@WWWWWWWW@@@W@@
@#xxxxxxxxxxxxxxxxxxMWWWWWWW@Mxxxnnzzzzzzzz#z#zz##############+########z##zzzzzzznnnnxxxxxnnxxxxxxxMMMMMMMMMMMMMMMMWWWW@@@@@@@@@@@@@@@@@@WWW@@@W@@@WW@
W*WxnxMxxxxxxxxxxxxMWWWWWMWWW@Mxxnnnnzzzzzzzzzz######################zzzzzzzzzzzzznnxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMWWW@@@@##@#@@@@@@@@@@@@W@WWWWWWW@W@W
Mz@MxxMxxxxxxxxxxxMWWWWWWMMWWW@Mxnnnnnnzzzzzzzzz#####################zzzzzzzzzzzzznnnxxxxxxxxxxxxxMMMMMMMMMMMMMMMWWWW@@@@##@@@@@@@@@@@@@@@W@W@WWWWW@W@
MM@WMxMMxMxxxxxxxMWWWWWWWWWWWWWWMxxnnnnzzzzzzzzzz##################zzzzzzzzzzzzzzznnnxxxxxxxxxxxxMMMMMMMMMMMMMMWWWWW@@@@###@@@@@@@@@@@WWWWW@@WWWWWWW@W
WWWWWMMMMxxxxxxxxWWWWWWW@@WWWWWWWMxxxnnzzzzzzzzzz##################zzzzzzzzzzzzzzznnnxxxxxxxxxxxMMMMMMMMWWMMMMMWWWW@@@@####@@W@@@@@@@WWWWWW@@WWWWWWWWW
WWWWMMMMxMxxxMxxMWWWWWWW@@@WMMWWWWMxxxnnnnnzzzzzzz##z#############zzzzzzzzzzzzzzznnnnnxxxxxxxxxxMMMMMMMMWWMMMMWWWW@@@@###@@#@@@@@@@@@WWW@WWWW@@WWWW@W@
WWMMMMMMMMxxxxxMW@@WW@@@@WW@WWWMMMWWxxxnnnnznzzzzzzzz##########zzzzzzzzzzzzzzzzznnnnnnxxxxxxxMxxMMMMMMMMMWWMMWWWW@@@@##@##@@@@@@@@#@@@WWW@WWW@WWWWWWWW
MMMMMMMMMMMMxxxW@W@WW@@@@W@W@WMxxxxWWxxnxnnnnnnzzzzzzz#zz###z#zzzzzzzzzzzzzzznnznnnnnnxxxxxxxMMMMMMMWWMWWWWWWWWW@@@@###@#@@@@@@@###@@@@WWWWWW@@W@WWWWW
MMxMMMMMMMMMMMM@@@@@W@WWW@@@@WMxnxxMWWMxxnnnnnnzzzzzzzzzz###zzzzzzzzzzzzzzzzznnnznnnnxxxxxxMMMMMMMWWWWWWWWWWWWW@@@####@@@@@@#@#@##@@@@@WWW@@WWWWWWWWWW
#nMMMMxMxxMMMMW@@@@WWWW@W@W@@WMxnnxxxMWMxxxxnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzznnnnnnnxxxxxxxxMMMMMMWWWWWWWWWW@@@@@@@@@@@#####@@###@@@@@@@@W@WWW@@WWWWWW
nxMMMMMMMMMMMMW@@@@@@WW@@WW@@WxxxxxxxxWWMxxnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzznnnnnnxxxxxxxxxMMMMMMWWWWWWWWW@@@@@#@@WW@@@MzxW@@@@@@@@@@@@@@@WW@W@@@WWWW
MxMMMxxxxMxMM@@@@@@@@@WWW@@@WMxxxxxnxxxMWMMxxxxnnnnnnzzzzzzzzzzzzzzznzznzzzzznnnnnnnxxxxxxxxMMMMWWWWWWWWWW@@@@@@@WWWWW@@nM@@###@@WW@@@#@@@W@W@W@@@WWWW
MMMMMxMxxxxxMW@@@@@@@@WWW@@@MxxxxxMxxxxxMMWMMxxxxnnnnnzzzzzzzzzzzzznnznnnnzznnnnnnxxxMMMxMMMMMMWWWWWWWWW@@@@@@@@@@@@@xMMx@####@@@MM#@####@W@WWWWW@@@WW
MMMMxxxxxxxxxM@@@@@@@@W@@@@WMxxxxxxxxnxxxxMWWMMxxxxnnnnnnnzzzzznnnznnnnnnnnnnnnnnxxxxxMMMMMMMMWWWWWWWWW@@@@@W@#@@###@@WMMWWW@W@WWx#x@@@@#@@@W@WWWWWWWW
MMMxxMxxxxxxMWW@@@@@@WW@@@WMxxxxxxxxxxxnxxMMWWWMMxxnnnnnnnnnnzznnnnnnnnnnnnnnnxnxxxxxMMMMMMMMWWWWWW@@@@@@@@@@#@@@@@@@W##zMWMnxMMxnz*+W@@@@@@@WWWW@WWW@
MMxxxMxxxxxMWWWW@@@@@@@@@WWMxxxMxxxMxxxxxxMWWWWWWMMxxxxnxnnnnnnnnnnnnnnnnnnnnxxxxxMMMMMMMMWWWWWW@@@@@@@@@#@@W@@xMWWWWMxzxxxxxMMMMMWWni@@@#@@@WWWW@@@@W
MMMxxMxxxxxWWWWWW@@@@@@@@@MxMMxxxxxxMxMxxMMWWWWWWWMMxxxxxnnnnnnnnnnnnnnnnnnxxxxxxxMMMMMMMMWWWWW@@@@@@@@###@WW@@n*zxnxxxxMMMMWWWWW@##@;@@#@@@@@WWWWW@W@
MMMxxMMxxxMWWWWWWW@@@@@@@WMxMxxxxxxxMxMxMWWWWMWWWWWWMMxxxxxnnnxnnnnnxnnxxxxxxxxxMMMMMMMWWWWWW@@@@@#@######@WW@@ni+MWWWWWW@@WWWWWW@#@#*M###@@#@WWW@WWW@
MMMMMMxxxWWWWWWWWWW@@@@@@MMxMxxxxxxxxxMMMW@WWWWWWWWWWWMMMxxxxxxxxxxxxxxxxxxxMMMMMMMMMWWWWWW@@@@@@########@@@@@@xi+@###@Wxnz####+##znM*n###@###@WW@WW@@
MMMMMxxMWWWWWWWWWWWW@@@@WMMxxxMMxxxxxMMMWW@W@WWMWWWW@WWWMMMMMxxxxxxxxxxxxMxMMMMMMMWWWWWWWWW@@@@#########@@@@@nzn+:W#@Mz+++#####++++***i#M@#####@WWW@@@
MMMMxxxMWWWWWWWWWWWWW@@@WMMxxxxxxMMMMMMMWW@W@@@WWWWWWWMMWWWMMMMMMMMMMMMMMMMMMMMWWWWWWWWWW@@@@@#######@@@@@@@MzzzxiMWz++**+++++##zz#####+++nW@##@@W@@@@
MMMMxxMWWWWWWWWWWWWWWWWWWMWMMMMxxxxMxxMMW@@W@W@W@WWMMMxxxMMMWWMMMMMMWWMMMWWWWWWWWWWWW@W@@@@@@@@@###@@@@@#@@@M+znn##+******znxxxxxxxxxxxxxnzznM@@@@@@@@
MMMMxxWWWWWWWWWWWWWWWWMMMMWMMMMMMxxxxxMMWW@@W@@@@@WWWMnxxxxMMMWWWWWWWWWWWWWWWWWWWW@@@@@@@@@WWWW@@@@@@#@@@##@M;+z#+*ii;ii**nMWMWMMMxxznxWMxxxxzzxW@@@@@
MMMMMWW@WWWWWWWWWWWWMMxxMMWMMMMMMxMxMMMMWW@@@W@@@@WWWxxxxxxxxxMMWW@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@@@@@@@#####@W,:*#++*i;;iii*zxnnnnnxz*:;#nzzzznnz#nM@x+
MMMMMWWWWWWWWWWWWWWWMxxxxMMMMMMMMMxxxxMMW@@@@@W@W@@@WxxxxxxxxxxxMW@@@@@@@@@@@WWWWWWWWWWWWWWWWWW@@@@#######@#W,,:*#+**iii;iii*zzzzzz+++++++++++++++++*n
MMMMW@WWWWWWWWWWWWWMMxxxxxMMWWMMMMMMMMMMW@@W@@@@@@@WMxxxxxxxMxxxxMW@@@@@@@@@WMMMMMMMMMMMMMWWWWW@@@@@@@#####@W:,,:*##+*i;;;iii***+++++##++++######++##W
MMMM@@WWWWWWWWWWWWWMxxxxxxMMMWWWWWMMMMMWW@@@@@@@@@@WMxxxxxxxxxxxxMWWWW@@@@@@WMMMMMMMMMMMMMMWWWW@@@@@@@#@###@@:,,,:##++*i;;;;iii***++#################W
MMMMW@@@WWWWWWWWWWMxxxxxxxxxxMMWWMMMMMWW@W@@@@@@@W@WMxxxxxxxxxxxMWWWWWW@@@@@WMMMMMMMMMMWMMWWWWW@@@@@@@#@##@@@i::,,*#+++*i;;;;;iii**+++###############W
MMMMW@@@WWWWWWWWWMMxxxxxxxxxxMMMMWWMMMWW@WW@@@@@WWWWxxxxxxxxxxxxMW@@@@@@@@@@WMMMMMMMMMMWMWWWWWWW@@@@@@@@##@@@+:::,,+##++*ii;;;;;iii**++##############M
MMMWW@@@WWWWWWWWMxxxxxxxxxxxxxxxxMMMWWW@@W@@@@@W@@@WMxxxxxMxMxMxMW@@@@@@@@@@WWMMMMMMMWMMMWWWWWWW@@@@@@@##@@@@#:;;,,:*##++**i;:::;;iii*++#########zznM@
WWWWWW@@WWWWWWWWxxxxxxxxxxxxxxxxxMMMWWW@@@@@@@@@@@WMxxxxxxxMMMMMM@@@@@W@@@@@WWMWMWMMMMWMWWWWWWWW@@@#@@@@@@@@@n;;;::,:*###+*ii::,::;;i***++######zM@@@@
WWWWWW@@@WWWWWWMxxxxxxxxxxxxxxxxxxxMMWW@#@@@@W@@@WWMxxxxMxxxxxMMM@W@@@@@@@@@WWWMMWWWMWMWWWWWWWWW@@@#@@@@@@@@@xi;i;::::+###+**i;::,,:;ii*++###+#nWxx@@@
WWWWMWW#@@WWWWMxxxxxxxxxxxxxxxxxxxxxMW@@###@@@WW@WWMxxMxMxMxxMMxWW@W@@@W@@W@@WMMMWWMWWWWMWWWWWWW@@@@@@@@@@@@@x*ii;;::,:+zz#++*i:,..,,:;i*+++++nW@@zx@M
WWWWWWW@@@WWWWxxxxxxxxxxxxxxxxxxxxxxMWWW@@@#@@@@@@WMMxMMMMMMMMMMM@@@@@@@@@@@@WMMWWMMMWWWWWWWWWWWW@@@@@@@@@W@@x+**i;:::,;#zz#+**i:,,..,:;i***++#nMWMnzz
WWWWWWWW@@@WWMxxxxxxxxxxxxxxxxxnxxxxMMWWWWW@@@@@@@MMMMMMxMMMMxMMWW@W@@@@@@@@@WMWMWWWWWWWWWWWWWWMMWW@@@@@@@@@@xz++*i;;;::,*zz#++*i:,.`...:;i***++####+#
WWWWMWWWW@@@MxxxxxxxxxxxxxxxxxxxxnxMMMWWWWWWWW@@@@MMMMMxMMMMMMMMWW@@@@@@@@@@@WMWMMWWWWWWWWWWMWMMMWWW@@@@@@@@@xz#+**;;;;:,:izz##++i;,..`.,:;iii***+++ii
WWWWWWWWWW@@MxxxxxxxxxxxxxxnxxxxxxxMWWMMWWWWWWWW@WWWWMMMMMMMMMMMW@@@@@@@@@@@@WWWMWWWWWWWWWWMMMMMMWW@@@@@@@@@@Mnz#+*i;;;:,,:*z##++**;:....,,:;i*++***+n
WWMWWWWWMMWMMMxxxxxxxxxxxxxxxnxxxxMMWWWMMMMMWWWWWMMMMWWWMMMMMMMM@W@@@@@@@@@@@WWWMWWWWWWWMMMxMxxMMWW@@@@@@@#WWMxnz#+*i;;;:,,,*####++*i:,....:;i**iizxMW
WWMWWWWWMMxMMMMxxxxxxxxxxxxxxxxxxxMWWWWMWMMMWMWMMxxMMMMMMMMWMMMW@@@@@#@@@@@@@@WWMWWWWWMMMxMxxxMMMMW@@@@@@@W;iMW@M##++iii;,:,,+#####++i;,...,:;;:*nMWWW
WWWWWWMMMMxxMMMMxxxxxxxxxxxxxnnxxMMWWMWWWWWMWWWMxxxxMMxMMMMWMWWW@@@@@@@@@@@@@@WWMWWWMMMMxMMMMMMMMM@@@@MMxzz*.#M@@x##+**i*,::,:izz##++**;,,.,,.:+xMWWWW
MMMMMMMxxxxxxMMMxxxxxxxxxxxnnnxxxMWWWWWWWWWWWWWMxxxxxxxxxMxMMMMW@@@@@@@@@@@@@@WWMMMMMxxMxMxMMMMMMMW@@xz#+*ixz,nWWWn##+**+,;:,,:;zz##+++*;:,..:zMWW@@@W
MMMMxMxxxxxxxxMMMxxxxxxxxxxxxxxxxMWWWWWWWWWWWWWxxxxxxxxxxxxxxxMMWWW@@@@@@@@@@WMMMMxMxMMMMMxMMMMMMMW@@Mz+i;;MM.;xMMMz#++**,;:::,.+#z##+++*i:.:zMWW@@@M*
MMMMMMxxxxxxxxxMMMxxxxxxxxxxxxxxxMWWWWWWWWWWWWWxMxxxxxxxxxxxxxxMWWWWWWWWWWWWWMxxxxxMxMMMxMMMMMMMMMWWWWx##zn@M:.+++#zz#+**,;;:::.;i##z###+*;;nMW@W@@n:*
MMxxxxnxxxxxxxxxMMMxxxxxxnxxxxxxMMWWWWWWWWWWWWMnxxxxxxxxxxxxxxxMWWWWWWWWWWWWWMxMMMxMxMMMMMMMMMMMxzz+++**+#xWW+:*i;i+z##++,;i;:,.i:;#zzz#+**zxMW@@@#:#M
MxxxxxxxxxxxxxxxxMMMxxxxxxxxxxxxMWWWWWWWWWWWWWMxxxxxxxxxxxxxxxxMWWWWWWWWWWWWWMMMMMMMMMMMMMMMWMn#*ii*****+xWMWWi++znMMz##+:;;;,,.i:;;+zzz+*nxMWWWW#,nMM
MxxxxxxxxxxxxxxxxxMMMMxxxxxxxxxxMMWWWWWWWWWWWWMxxxxxxxxxxxxxxxxMWWWWWWWWWWWWWMMMMMMMMMMMMMWMn+*ii*****++#MWWWM++#nxW@Mz##:::;,,.;:;;:+zz+#xxMWWW#,zxMW
MxxxxxxxxxxxxxxxxxxMMMMxxxxnxxxMWWWWWWWWWWWWWMxxxxxxxxxxxnxxxxxMMWWWWWWWWWWWWMMMMMMMMMMMMMn+*i*******+##zWW@Wni++#zznxx#zi:::,:,;::::,*z+xMMMWWx;#MMW@
MxxMxxxxxxxxxxxxxxxxMMMMxxxxxxxMWWWWWWWWWWWWWMxxxxxxxxxxnxxxxxxWMMWWWWWWWWWWWWMWMMMMMMMMMz+****++*+++##znWM@@W+*#MW*+nxn#*;;:,,,;::,,:,izxMMMWW+*xMW@n
MMxMxxxxxxxxxxxxxxxxxxMMMxxxxxMMWWWWWWWWWMWWWxxxxxxxxxxxxxxxxxxMWWWWWWWWW@WWWWMMxMMMMMMn#++++*+++++###zzxWxW@@x+nMM+;znxz*;:;,:,::::,,,,#xMMWWn;nxW@n.
MMMMxMxxxxxxxxxxxxxxxxMMMMMMxxMWWWWWWWWMWWWWWxxxxxxxxxxxxxxxxxMWW@WWWWW@WW@WWWMMMMxMMMn#++++**+++####znnxWxW@@@nnnxz:+#nx*;;;,:,:;:,,:,,#xxMWW+;xMWW;`
MMxxxxxxxxxxxxxxxxxxxxMMMMMMMMWWWWWWWWWWWWWWMxxnxnxxxMxxxxxxxMMWWWW@W@WWWWW@@WMMMMMMxz++******+++##zznxxMWxW@@@Wxznni**#xz;;;::,,i;,,:,,#xxMWWi#xM@#` 
MMxxxxxxxxxxxxxxxxxxxxMMMMMMMMWWWWWWWWWWWWWMMxxxxxxxxxxxxMMxMxMWWWMWWW@@W@@@W@MMMWMM#+*i*****+++##znnxxMW@xM@@@@Wnnn+*i#zM+;;::,,*i:::::+nxMWWinxMW; `
MMxxxxxxxxxxxxxxxxxxxxMMMMMMMWW@@@WW@WWWWWWMxxxxxxxxxxxxxxMxxxxWWWWWW@@@@@W@@@WMMxz+**iiii**+++##znnxxMMW@Mx@@@W@@WM#ii#zzWznn#;,*i;;::;*nMMWW*xMMx, :
MMxxxxxxxxxxxxxxxxxxxxMMMMMMMW@@@@@@WWWWWWWMxxxxxxxxxxxxxxxMxxMWWWWWWWWWW@@@@@MWx#**i*iiii**++##zznnxMMMW@Wn@@@@@@@@xi,:##nMMMW+,+*ii;;:*xMM@W*xMWz.`i
MMMxxMxxxxxxxxxxxxxxxxxMMMMMMMW@@@@@@W@WWWWxxxxxxxxxxxMxnMxxMxxWWW@MW@WW@@W@@@Mn************++#zzznxxMMMW@WnW@@@W@@W@#:.:#*zxMW#++***ii;inxMWM*nMWz.`*
WWMMMMxxxxxxnxxxxxxxxxxMMMMMMMMWW@@@@@@WWWMxxxMMxxxnxxxxxxxMxxMWW@WWWWWWW@@@@@ziiiii;;ii***++##zzznnxMMM@@Wx@@@@@@@@@W**+z+znM@++#+**ii**nMMWW*nMMn,`+
@@WWWWMMMMxxxxxxxxxxxxxMMMMMMMMMMMW@@@@@@WMxxxxxxxxxxxxxxMxxMxM@WW@WWWW@@W@@@z::::;;;;;ii**++###zznnxMMM@@@xW@@W@@@@W@nxWn#*xMW*i+#*ii;i+nxMWW*nMMM;`*
@@WWWWWWWWMMMMMMxxxxxxxMMWWMMMMMMMWMW@@@@WMxxxxxxxxxxMxxMxMxxxMW@WWWWW@W@@@@#;:::::::;;;ii**+###zznxxMMM@@#MWW@@@@@@W#nnMx#inM@+:i++ii;;*zxxMW*#xMW*.;
@@WWWWWWWWWWMWWMMMMMxxxMMWWWWMMMMMMMWW@@@WMxMxxxxxxxxxMxxxxxxxMWWWWW@WW@@@@z:::::,,,::;;ii**++####znxMMM@@#@W@@@W@@@W@xxWWn*nM@#;;i++;iii#xxMW++xxMx:,
@@WWWWWWWWMWWWWWWWWMMMWWW@@WWMMMMMMMMMMW@WMMMMMMxxxxxxxxxxMxxxMW@WWWW@@@@@x;:::::,,,,::;ii**++++###znMMM@##MWWW@@W@@@@xzWMM*zxWz;::i#*;ii#xMMWz+nxxW+:
@@WWWWWWWWWWWWWWWMWWWWWW@#@WWWWMMMMMWWWMWWWMMMMMMxxxxxxxxxxMxxMWWWWW@W@@WW#:::::::,,:::;;;i*****++#znxMW@@#MMW@@W@@@W@M+MMWn#nWM*;;;i#*;;#MMMMx*nnxMx*
@@@WWWWWWWWWWWWWMMWWWWWW@@@MWWWWWMMMWWWMMMMMMMMMMMMxxxxxxxxxxxMWWW@WW@WW@@#:::::::::::::;;;iii***++#zxMM@##WW@@@@W@@@@W#xMMW#zxWzi;;;i#i:+xMMMMi#nxxMn
@@WWWWWWWWWWWWWWWWWWWWW@@@WMWWWWWWWMMMMMWMMMMMMMMMMMMxxxxxxxxxMM@WW@@W@@W@#:::::::::::::;;;;;ii***+#zxMM@##WW@@@WW@@W@@+xxMMM+nMW#i;;;*#i*xMMMW++nnxxM
@@WWWWWWWWMWWWWWWWWWWWW@@@@MWWWWWWWWMMMMMWWMMMMMMMMMMMMMxxxMxxMWW@WWW@W@@@z::::;:::::::;:;;;;i;;ii*+znxM@##@@@@@@@@@@@@+nxMMMn*xWx+i;;;*#*nxxMWniznnxx
@@WWWWWWWWWWWWWWWWWWWWW@@@@MWWWWWMWWMMMMMMWMMMMMMMMMMMMMMMMMMMMWWW@@WW@@@@n;:::::::;:::;::;;;;;;;i*+#nxM@##@@@@@WW@WWW@znnnz###+xWx+i;;i*##xxxMMi#nnnn
@@W@WWWWWWWWWWMWWWWWWWW@@@@MWWWMMMMWWMMMMMMMMWWMMMMMMMMMMMMMMMMW@W@@@@W@@WWi;;:;;;;;:::;:;;;;;;;;i*+#zxMW##@@@@@@@@WWWWz+*iiii**+MWz+i;;;*##nxxM#*nnnn
@@@@WWWWWWMWWWWWWWWWWWWW@@@WWWWMWWMMMWMMWMMMMMWMMMMMMWMMWMMMMMMW@@@@@@@@@@@z;;;;;;;;;;::::;;;;;;;;*+#zxMW####@@@@WWMz+*iiiiiiiii**xM#*i;;;i++zxxM;znnn
@@@WWWWWWWWWWWWWWWWWWWWW@@@M@WWWWWWMMMMMMWMMMMMMMMWWWWWWWWMMWMW@@@@@@@@@@@@@+;;;;;;;;:::::;;;:::;;i*+zxMW####@@@@Wz*ii;;iii;iiiiii*zx#*iiiii+i+xM++nnn
WWWWWWWWWWWWWMWWWWWWWMWW@@@MWWWWWWWMMMMMMMMWWMMMMMWWWMWWWWWWMWW@@@@@@@@@@#@@W+;;;;;;;;:::::;;::::;i*+znMW@###@@@x+*i;;;;;;;;;;;iiii*#z#+*i;;i+i+Mx;nnn
WMMMMMMWWWWWWWWWWWWWWWWW@@@MWWWMWWMMMMMMWMWWWWMMMMMMMMMWMMWWW@W@@##@@@@###@@@W*;;;;;::::,:::::::;;i*+znMW@###@@n*iiiii*****iiii;iiii,zn#**i;;i#i+M;#nn
WMMMxMxMMMMMMMMMWWWWWWWW@#@MWWWWWWWMMMMMMMWMMMWWWMMMWWWWWWWWW@@@@@@#@@#W@WMMMMn*;;;;;::,,,,::::::;;i+#nMW@##@@n*ii******iiiiii;:;;;*,#Wz+*ii;;*#;xz;nn
WWMMxxxxxxxxxxxxxxMMMMWW@@@MWWWWWWWWMMMMWMWMMMMMWMWWWMMWWWMWW@W@WW@@W@##z#+#xxnn*i;;;;::,,:;;;:;;;ii*#nxW@##@x*ii**ii;;;;:::;;i;;:;i:iWWz#*i;;;*i+W;#n
WWMMxMxMMxxxxxxxxxxxMxMMWW@MWWWWWWWMMMWMMMWMMMMMMMWWWWWMMMMW@@WWWW@@W@##zz##Mxnxx*;;;;;;;;;;;;;;;;;i*+zxW@##W+*i**i;;;::::;:::;i;;;ii;xWx##*i;;iiiW#in
WWMMxMxMMxxxxxxxxxxxxxxMMW@MWWWWWWWWMMMMMMMMMMWMMMMMMWWMWMWWWWWWWWW@W@#Mznz#xnnM@Miiii;;::,,,:;i;;ii*+#nW@##n*ii*;:::::::;;::::i;;;i*:nMWxz#*i;;;;Mx:z
WWMMxMMMxMxxxxxxxxxxxxxMMW@MWWWWWWWMWWMMMMMMMMMMWWMMMMWMWWWWWWWWWWW@W@#@z#z#nznW@@n**i;:,,,,::;;ii;i*+#nW@#@#i;ii::::;::;;;;::;ii;;i+,#xWWn#+ii;;:nM**
WWMMMMMMMMxxMMxxxxxxxxxxMW@MWWWWWWWMMMWWWMWMMMMMWWWMMMMMWWWWWWWWWWWWW@#@n+++nzx@@#W+*i:,,,,::::;ii;i*+#nW@@@+;;ii:::::;;;;;;;;;iiiii#,*xMWWz#**i;:zxn:
WWMMMMxMxMxxxMxxxxxxxxxMMW@MWWWWWWWWWMWMWMWMMMMMMWWWWMMWWWWWWWWWWWWWM@#@n+z#x#n@@@@z*i::::::,::;;i;;i*#nM@@@+iii*;;;;;;;;;iii;iiiiii#::nMWWM##*i;:#xMi