MMxxxxnnnnnnzzzz#++*ii;::,,,,,,,,,,,;+i;ii*W@@@@##@@@@@@@@W@@@@@#@#######@@@@@@MnW@@@WWMMMMxxxxxxMMWWWWWWWMMWWWWWWWWWMxxxxxMWWWWWWWWWWW@@@WWWWWWWW@WW@
Mxxxxxxnnnnnnzzz##++*ii;;::,,,,,,,:::;;ii*+@@@@@@@@@@@#@@WW@@@##@#########@@@@WWnxW@@@WMxxxxMxMMxMMWWWWWWWMMWWWWWWWWMMxxxxxMWWWWWWWWWWWW@@@WWWWWW@@WW@
MMxxxxxnnnnnnzzzz##+**iii;;:::::::::;;;i**z@@@@@@@@@#@@WWW@@@@#############@@WMMxnW@@@WMxxxxMxxMxMWWWWWWWWMMWWWWMMMMMMMxMMMMMMMWWWWWWWWW@@WWWWWWWWW@W@
MMxxxxxnnnnnzzzz###++**ii;;;::::;;;;;ii***x@@@@#@@@@@#@@@@@#@@@##############@WWMMWWWWWMxxxxxxxxMMWWWWWWWMMMWWWWMxxxxMMMMWWMMMxMWWWWWWWW@WWWWWWWWWW@WW
MMMxxxxxnnnnzzzz###++***iiii;;;;;iiiiii**+M@@@@#@@@###@@@@@####################@@@WWWWWMxxMxxxxxxMWWWWWWMMMMWWWWMxxxxxMxMWWMxxxxMWWWWWWW@@WWWWWWW@@@@W
MMMxxxxxnnnzzzzz###+++**iiiii;;iiiiiiii**+W@#@@#@@@##@####@#######################@@WWWMMMMMMxxxxMWWWWWWMMMMWWWWMxxxxxxxMWWMxxxxMWWWWWWW@@WWWWWW@WW@@W
MMMMxxxxnnnnzzzzz##+++**iiiiiiiiiiiiii***+@#######@#################################@WWWWWMWMMMMMMWWWWWWMMMMWWWWMxxxxxxxMWWMxxxxMWWWWWWW@@WWWWW@WWWW@@
MMMMxxxxxnnnnzzzz##+++****iiiiiiiiiiii**++@@@#####@@###@#@@@@########################@@WWWWWWWWMMMWWWWWWMMMMWWWWMxMxxxxxMWWMxxxxMWWWWWWW@WWWWWWWWWW@@@
MMMMMxxxxxnnzzzzz###+++***iiiiiiiiiii**+*##@@#####@@@###@@@@@@@@######################@WWWWWWWWMMMWWWWWWMMMMWWWWMxMxxxMMMWWMxxxxMWWWWWWW@WWWWWWW@@@@@@
MMMMMxxxxnnnnnzzz####+++***iiiiiii*****++z@@########@@@@@@WWWWW@@@@@@#################@WWWWWWWWMMMMWWWWWMMMMWWWWMxxxxMMMMWWMMxxxMWWWWWWW@WWWWWWW@@@@W@
WW#MMMMxxxxnnnnzzz#####+++***ii*******+++n@@@########@@@@WWMMMMWWW@@@@#################@WWWWWWWMMMMWWWWWMMMWWWWWMxxxxMMxMWWMMxxxMWW@WWWWWWWWWWWWW@@@W@
WM##MMMMxxxxnnnnzzzzz###+++*******+++++##x@@@########@@@WWMMMMMMMWWW@@@@#@#############@WWWWWWWWWWWWWMMMMWWWWWWWMMMMMMMMMWWWMMMMWWWWWWWWWWWWWWWWW@@@W@
WMMMMMMMxxxxxxnnnnnzzz####++++++++++++###M@@@#####@@##@WWMMMMxxxxMMWWW@@@@##############WWWWWWWWWWMMMMMMMMMW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WW@@@@W
WWMMMMMMMMxxxxxnnnnnznzzzzz############zzM#@@#######@@@WMMMMxnnnnxMMMMW@@@##############@WMMMMMWWMMMMxxxMMMW@WWWWWWWWWWWWMMMMMWMMWWWWWWWWWWWWWWW@@W@@@
MMMMMMMMMxxxxxxxnnnnnxnnz##+++++++#####zzx@#@#@#####@#@WMxxxxxnnnxxMMMW@@@###############WMMxxxWWMMxxxxxMxMWW@WWWWWWWWWWMMMMMMxxxxMWWWWWWWWWWWWWWW@@@@
MMM#M##MMxMMxxxxnnnnz+i;:,,,,..,,:;*##zzzx@#@@@@####@#@WMxMMWWWWMxxMM@@##################@MMxxMMWMxxxxxxxMMWWW@@@@@@@WWWWMMMMMxnnxMWWWWWWWWWWWWWWWWWW@
WWWM###MMxxxxxxxnnnz+;,.``````````.:*#zzzn@@#@@@######@WMW@@@@@@@MMMW@####@###############WMxxMMWMxxxxxxMMMW@@@@@@@@@WW@WWMMMMxxxxMWWWWWWWWWWWWWWWWW@W
WMM###MMxMxxxxxnnnnzi,.``        ``,;+zzzz@###@@@####@WWWWWWWW@#@WxMW@#####################MMMMMWMxxxxxxMMM@@@@@@@@@@@@@WMMMMWWMWWWWWWWWWWWWWWWWWWWWWW
MMM#MMMMxxxxxxxxnnnz;.``          `.:*##zzW##@#@@####@WW@@@@WWW@#@xx@@#####################@WWWWWMxxxxxMMMW@@@@@@@@@@@@@WMMMMW@@@@WWWWWWWWWWWWWWWWWWWW
#MMMMMMxxxxxxxnnnnz#;.             `:*+##zx@@@@@@@####@@@@##@@WW@@MW@@@######################WMMMMxxxxxMWMWW@@W@@WWWWW@@WMMMMW@@WWWWWWWWWWWWWWWWWWWWWW
#MMMMMMxnxxxnnnnnnz+;`             `:i++##z@@@@@######@@@@##@@@@W#@##########################@xxMMxnxxxMMMMWWWWWWWWWWWWWWWMWWWWMxMWWWWWWWWWWWWWWWWWWWW
#MMMMMxxzzxnzznnnzz*:`             `,i*+##nW@@@@@#####@@@@####@@@@@M@@########################xnxMxxxxxMMMMW@@@@WWWWWWWWWWWWWMxnnnMWWWWWWWWWWW@@WWWWWW
MMMMMMxMMMxnzzxxnzz*,`             `.;*+##nx@@@@@#####@@@@@@###@@@n#M@########################WnxWWWMMMMWWW@@@@@@@@@@@WWWWWWWMxnnnMWWWWWWWWW@@@@@@@WWW
MMMMMxMWWMxnnnMWMnz*,`              .;*+++zz@@@@######@@@@@@####@M#+z@########################@MMWWWWWWWWWWWWWWWWW@@@WWWWWWWWWMxMMWWWWWWWW@@@@###@@@@@
MMMMMMWWWMnnznMWMnzi,`              .;*+++#zM@#@@#@@##@W@@@@@@@#@n#+zM@#######@################@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@#########@@
MMMMMMWWWWMxxMMMxxni.`              .;*++++#n@@@######@MW@@@@@@@WMnzxM@@#@@@@@@#################WWWWWWWWWW@@@WWWW@@@@WWWWWWWWWWWWWWWWWWW@@###########@
MMMMMWW@@WWMMxnnxxx+,`              .;*++++##M@#######@MWWWMxxMWW@WM@@MM@@@@@@@@################WMWWWWWWWWW@WWWWWWWWWWWWWWWWWWWWWWWWWWWW@######@######
MMMMMW@@@WMxnnnnMMMn:`             `,;*+++++#z@@######@WWMxnzznnMMWWWWxznMWW@@@@################@MWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@#######@@#####
MMMMM@@@WMxxnxxnxWWMi.`            `,;*+++++#zx@@####@@@WMnxnnzn#zxxxnzznnxMWW@@################@MWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@######@@@#####
MMMMW@@WMxxxxxxxxW@Wi.``           `,;+++####zzW@####@@@@Mxnnnzz#xnnnnnnnnxMWW@@################@MWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@###@@@@WW@@@@#
MMMMW@@MMMxxxxxnM@@W+,.``````  ````.,i+######znn@####@#@@Wnzxz#+nMxMWWxxxxMMWW@@###############WMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWW@###@WW@WMMMWWM@
MMMMW@WWWWMMMMMMMW@W#,.``````````...:i#######zznM@###@#M#*;;;+##x#zMW@@xxxMWWWW@###############WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWW@###WxxxxMxMxxxW
M#MMW@@@@@WW@@WWWW@@#:,..........,,,;*#zzz#zzzznnW####@xn###+++nnz#znM@WxxMMWWW@###############WWWWWWWWWWWWW@@@WWWWWWWWWWWWWWWWWWWWWWW@###WxxnxMWMxxM@
MMM#MW@@@WMMWWMMMMWWz;:,,,,,,,,,,,:;*#znnzzznnnnnx@###@@xnW@n*#MnzzznxWMxxMMWW@@###############WWWWWWWWWW@@@@@@@@@@@WWWWWWWWWWWWWWWWW@####@MxxxMMMMMM@
WWMWMWWWWWxxMMxMMWWMn#*iii*********+znnnnnnnnxxxxxW###@WzxWW++xWMxxxMMMxxxMWWW@###############@WWWW@@W@@@@@@######@@@@W@@W@@@@@@@@@@@@####@WMMMMWWWWW@
WWWWWW@WMnzznnMWWWWMxnnzzz#**+##zznnxxMMxxxxMMMMMMM@##@xxMWn+zW@@@@WMWWMxxMWW@@################@@@@@@@@@@#@@@@@@@##@@@@@@@@@@@@@@@@@@@#####@MMMWWWWMW@
@@@@@@Mnnz####nW@WWWWxnnnz:.`.*znxxMMWWWMMMMWWWWWWW@##@W@@Mn#M@@##@@@@WMxMWW@@#################@@@@@@@####@@@@@@@@########@@@##############@WMMMxxMMW#
##@@@W#+nzz#++#nW@@@#@@WWn:``.*xWWWWWWWWWWWWWWWWWW@@@#@@@@Mnx@@@@@#@@@MxxMW@@#######################@#####@@@@@@@#########@#@###############@WMMMMWW@#
#@#@@W#+nnnz#+++n@@@@@@@@n;,,:+MWWWWWWWWWWWWWWW@@@@@@@@@@@@xW@@@@WWWWMxxxW@@##################@@@@@@@####@@@@@@@@@###@####@@@@@@@@@@@#########@@@@@###
#@##@WzzMxnnzz#*zW@@@@@@Wn*i;i+xWWWWWWWWMWWWWWWWWWWW@W@@@@@@@n+*ii**+#zxM@@##################@@@@@@@@####@@@@@@@@@@##@@@@@@@@@@@@@@@@###########@@####
@@@@WWxxMMMWWxz+zM@@@@@WWn+++*#xMMMMMMMMMMMMMMMMMWWWWxM@@@@@x#++#zznnnnx@@#@################@@@@@@@@@##@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@########@@@@@@###
@@@@@Wn#xWWWMnzzzx@@@@@@WMxnz#znMMMMMMxxxxMMMMMMMMMMMnM@@WWz+zxMWWW@@@@@@@@@###############@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@########@WWWW@###
@@@@@@z*+zMMMMMxxxW#@@@@@WWMxnzxxxxxxxxxxxMMMMMMMMMMz##nxz#+zxW@@@@@@@@@@@@@@#############@@@@@@@@@@@@@@#@@@@@@@@@@#@@@@@@@@@@@@@@@@#########@@WWW@###
@@@@@@z;:+W@@@@MMxM@#@WWWMWMMMxxxxMMMMMxxMMMMMMMWMMWn+*+*++#xM@@###@@@@@@@@@@@@@@#####@@@@WMMW@@@@@@WW@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@##########@@WW@###
@@@@@@x#+nW@@@@WMMMW@@WMMWWWWWWMMMMxMxxxxMMMMMMWMMWWx#+**++nx@@xz#+*#xM@@@@@@@#@@@##@@MMMMn#zM@@@WWWMxMW@@@@@@#@@@#@@@@@@@@@@@@@@@@@##########@@@W@###
#@@@@#@WMWW@#@@@WMMM@@WMWWWW@W@WMxxxxxxxxxxxxxMMMWWWxn#**+##+n+++++znnxW@@@@@@#####@@Wnznxz#zM@@@WMxnnxM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@#@#@@@@##
##@@@###@@@@@@@@@WMW@@WW@@@@@@@@MxxxxxxxxxxxWW@@@@@Wxxn#+**i**+zxMW@@@@@@@@@@@@####@@WxzxMnznW@@@WMxnnxW@##@@@@####@@@@@@@@@@@@@@@@@@@####@@@@@#@@@@##
###@@@###@@@@@@#@@@##@@@@@@@@@@@MxxxMWW@@@@@@@@@@@#Wxnnn#*i*+znW@@@@@@@@@@@@@@@@####@@WnxWxzxW@@@WMxxnxW@####@####@@@@@@@@@@@@@@@@@@@@####@@@@##@@@@##
@##@@@##@@@@@@@@#####@@@@@@@@@@@Wxx@@@@#@@@@@@@@##@Mxxnnz++#zM@@@@@@@@@@@@W@WWW@######@@@@WxxW@@@@MMxnxW@#@########@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@##
##@@@@#@W@@@@@#@#####@@@@@@##@@@Wx@##@###@@@@@@@@#@MxxnnnnnnM@@@@##@@@@@@WWWWWWW#########@@@@@@@@@MnnnxMW@@@@######@@@@@@@WWWW@@@@@@@@@@@@@@@@@@@@@@##
#@@@@@WxMW@@@@@@#######@@@###@@@WW########@#@@@@@@@xMxnnnxMMW@@@@@@@#@@@WWWWWWMW@#########@@@#@@@@@MzznxxMMMW@@@@@@@@@@@WWWWWW@@@@@@@@@@@@@@@@@@@@@@#@
@@@@@MxnxMWWWW@@@###@@@@@@@@@@@@W@########@@@@@@@#@MMxnnnxxMWW@@@@@@@@@WWWWMMMMM@##########@@##@@@##WMxxMMMMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@
@@@@WnxnznWWWW@@@@@@@@@@@@@@@@@@@##########@##@@####@MnnnxxMWWWWW@@@@@@WWMMMMMxxW############@@@#@@#@##@@@@@@@@@@@@@@WWWWWWWWW@@@@@@@@@@@@@@@#@@@@@##@
@@@@xzxn#M@WMW@@WWWWMMWWWWW@@@@@##############@@######@MxnxWWWWWW@@@@@WMMMxxxxxxM###################@######@@@@@@@@WMMxnnnnnnnnxxMW@@@@@@@@@@@@##@@@@@
@@@MnxMxnW@WxnnnnnnnxxMMWW@@@@@@##############@@########@MM@WMMWWWWWWWMxxxnnnnnnx#########################@@@@@@@@@WMxnnzzzzzzzzzzznxMW@@@@@@@@@@@@@@@
@@Wnx@WMxxnnnnzzznnnnxMMW@@@@@@##############@##############MMMMMMMMMMxxnnnzzzzzz@#######@####@@############@@@@#@@WMxnnzzzzzzzzzzzzzznxW@@@@@@@@@@@@@
@WxnxMMnznnnnnzzznnnnxMMW@@@@@@############################@xxMMxMMMMxnnnzz#####zW###########################@@##@@WMxnnnnzzzzzzzzzzzzzznxMW@@@@@@@@@@
@MnnnnzznnnnnnzznnnnxxMMW@@@@@@#############@@@@M@###WM####WxxMMxxxxxxxnzz#nznzzzn@@###@##@x@@x@#@###########@@##@@WMxnnnnnzzzzzzzzzzzzznnnMW@@@@@@@#@
@xnnnnnznnnnnnnnnnnnxxMMW@@@@@@#############@@@x,M##M+#@#nWxniM#+zzz#n+nnznix*z#n++zW#zM#x;i#x##zM#z@########@##@@@WMxnnnnnnnnnzzzzzzzzznnnxMW@@@@@@#@
xxnxnnnnnnnnnnnnnnxxxxMWW@@@@@##############@@@*;+***x#Wi+n+*#*M*;**z##i#xnin+zi+++MW+*in+i*x++****M@########@##@@@WMxxnnnnnnnnzzznnzzzznnnxMW@@@@@@##
MMxxnnnnnnnnnnnnnxxxxMMWW@@@#@###############@@#@#zzn+nW*n*z++n+z+zzxnx*Mix#zzM+zzx#Wnzn*M*zWnzzz+*zz########@#@@@@WMxxnnnnnnnnnnnnzznznnnnnxW@@@@@@@#
WMxxxnnnnnnnnnnxxxxxMMMW@@@@#################@@##@@@@@#@@@MMxMxxnnnzzzx#xn+#+++++#@@@@@@@@@@@@@@@##M############@@@WMMxxxnnnnnnnnnnnnnnnnnnnnM@@W@@@@@
WWMxxxxxxxxxxxxxxMMMMMWW@@@@@############################@xMxxxxnnzz#######++++++#W@@@###@#######################@@WWMMxxxxxxxxxxxxxxnnxxxxxxW@@@@@@@@