iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***************************************************************
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***********************************************************
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii********ii***********************************************
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii**************************************
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*************************************
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***********************************
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii****************iiiii*************
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii******iiiiiiiiiiiiiiii******
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*****iiiiiii********
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii******
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+zz+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii******
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii#M@@@@M+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii******
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+@@####@@#iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*****
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+W@######@@*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiz@###@@###@ziiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;x@@#@@@###@n;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;x@##@@####@x;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii#@##@#####@xiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*@@#######@nii;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiW@#######@Wz*zxz+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii**
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;nW@########@@@@@@@M+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+@@#########@@#@@@@W*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii****
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiW@###########@@##@@Miiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii******
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiizW@@@@@@#@@@@@@@###@+iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*****
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;n@@@@@@@@@##@@@@@#@x;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii****
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii#W@@@@@@@@##@@@@@#@Wiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+W@@@@@@@#@##@#@@#@@#iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*zWWWWMxxMW@#####@@@@xiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+MWWWWMxnxnnxW@@###@@@@*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
++*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+nMWWMMMnxnnnMxMMMW@@@@@xiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
z##n##**iiiiiiiiiiiiiiiii;iiiiiiiiiiiiiiiiiiiiiiiiii*zxxMMMWWnxxxnxnxnxnnM@@@@@*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
zz#xn##+++*iiii*iii****+**++*#+++***iiiiiiiiiiiiii*#nxMMMW@@xnMMxnMxnxnnxMW@@#@Miiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
xz#nn####+###############+##########+++**iiiiiiii*nxMxMWM@@WnWMMnxxxxxxxnxM@@@@@niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
MMzzz####+####z###+####++++++++++++++#####+#+iii*nxxxxMWW@@xxMWMxxMMMMMnMMxW@@#@@M#iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
W@W@MMxxn+###nzzz########++++++++#+++###########nxxxxMWWWWWxWxWMxMMWWMMxMMxMW@#@@@@xiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
MWWWWWWWWMxnxWWxzz####+++###+#++#++++#+#+#+#+++zxxxxxMWWWWWxWMWxMMWWWMMxWWxMM@@#@@@@Miiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
MMMMxxxxxnz##zzz+#######+#+############++##+++#xMxxxxWWWWWMMMMWMMWWW@WMMWWxMxW@#@@@@@xiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
####zzzznnnz#+++*****+++++++++++########++##++zMMxnxxWWWWWx@MWWMM@WW@WxMWMMMMx@@#@@@@@niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
*iiiiiiiiiiiiiiiiii******************++++++***nMMnnxxWWWWWx@MWMWM@WW@Mx@MMWMMn@@@@@@@W@#iiiiiiiiiiiiiiiiiiiiiiiiiiii*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
************i*******************************i*MMMnxxM@WWWWM@xWMWM@@W@xWMMWMMMxM@@@@@@@WMiiiiiiiiiiiiiiii*+nxnzxxnznnMxMxnzzznz#*iiiiiiiiiiiiiiiiiiiiii
*************+++++************************iii#MMMxxMW@WWWMW@xWWWW@@W@xMxWWMMMxn@@@@@W@WWn#+++##z###+****xWMxnnnxxzzzxMMMnxxnnnxnxnzz#*iiiiiiiiiiiiiiii
******************++++++++++++++++++++*****iinMMMxMMW@WWWM@@xW@WW@@@MnxMWMMMMMxM@@#@W@@Wx+#zn#zz#zzzzzzxWWMnxnxxxnnzxnxMzxxnnzxxnxxnnxn#*iiiiiiiiiiiii
**********************************++++*++***#xMMWxMM@@WWMM@Wx@@M@@@@MWMWMMMMMMxn@@@@WW@Wn****++++++++++#nxxnnnnxxnxnMnMMnnnnnnnMnxxxnnnnz##+iiiiiiiiii
+*+**+***********************************iiixMMMWMWM@@WWxW@WM@@W@@@@@WWWWMMxMMMnM@@#WW@Wn***++++++++++++*******+++##zznxxnMnnxnxxnxMxnxnxnn#iiiiiiiiii
xnx#zz++#++++*****************************iiMMWWWWWM@@WMx@@MW@@W@@@@@MWWWWMMxMMMM@@@@WWWx****+++++++++++++++++++***********++++###znnznznnzz++xxxxxxxx
W@WWWWMMxxxxnn##+++**++************+*******+WMW@WMWW@@WxW@@MW@@W@@@@@MMWMMWW@@@@@@@@#WW@M*i***********++++++++++++++++++++++**********+++++###nnxxMMMM
@W@W@WWW@@@@WWMMxnz####++**+*******+******izWWW@WMWW@@MxW@@M@@@W@@@@WxxMWW@@W@##@#@@#@W@M*i******************++*+**+*+**++++++++++++++++++++++++++++++
@WWWWWWWW@W@W@@WWWWMxMMn#zz#++***+********ixWW@@WWM@@WxM@@WW@@@@@@@@WMW@WWWWMM@@@#@@@#W@W**********++*++++*++********+********+++++++*++++++++++++++++
WW@WWWWWWWWWWW@@@@@@WWWMxxMnnzz##z##++*****+xW@@@WM@WxMW@@WW@@@@@@@@W@@@WWWWWMM@@@#@##@@W+i****************+++++++++++++++++**+++*+*++++++++++++++++++
W@WWWWW@WWWWWW@@WW@@WWWWWWWWWMMxxMMMnzzzzzzzzznx@WW@MWWW@@MW@@@@@@@WW@@@WWWWWWMxM@@#@#@WW#i****************++++++++++++++++++++++++++++++*+**++*++++++
@@@@@@@@@W@WWW@WWW@WWWWW@@@@@WWWWWWWxxxMnxxxxnz#W@MMM@W@@@M@@@@@@@WMW@@@WWW@@@@WMnW@@@@WMnn*****++++*++***+++**+++++++++++++++++++++++++++++++++++++++
@@@@@@@@@@W@W@@W@WW@W@@@W@@@@@@W@@WWWMMWxMxMMxnnWMMMW@W@@@M@@@@@@WMW@@@@@W@@@@@@@Wnx@@@@@@@******+****++*****+++**++++++++++++++++++++++++++++++++++++
@@@WW@WWWWW@W@@@@@@@@@@W@WWW@@@@@@@@@MMWMWMWWxxxMxxW@@W@WWW@@@@@WMW@@@@@@W@@@@@@@@@MxW@@@@@M+****++***+**+++++++++++++++++++++++++++++++++++++++++++++
@@WMMxMMMMWWW@@@@W@@@@@W@@W@WW@W@WWWWMMWxWMMxxMMMMnxW@@WWxW@@@@MMWW@@@@@@@@@@@@@@@@WWWWW@@@W#++*******+**+**++*++*++++++++++++++++++++++++++++++++++++
WWMMxnxxMWWWWW@W@W@@WW@WWWW@WWWWWWWMWnMMMMxMnnnxWWxnxW@MxM@@@@MMMW@@@@@@@@@@@@@@@@@@@@@@@@@@nnnzn######+##+#++****+**++++++#++++++++++++++++++++++++++
MxnxnzznnMM@WWW@WWWWWMWWWWWWWWWWWWMMxnMxnnzzznnxxWMnnxMW@@@@@MxMW@@@@@@@@@@@@@@@@@@@@@#@@@@WWWWWWMMxMMxMMMxxnnz##+#++*++**++*+#+++++++++++++++++++++++
nxzxzzzxzMxWWMWWMWWMMxWWWWWWWWWWWMMxzzxnnznzzz#xnnWxnxMMWW@WxxMWW@@@@@@@@@@@@@@@@@@@@@@@@@@xWMWMMMMMWMWWWW@WWWMMMxMznz##**++*+++++++++++++++++++++++++
nn#nzzzMzxMMMnMWMMMxWxWWWWWMWMWWMxxxnnxnznMnnnzMn#xMxxxMWWWxxMWW@@@@@@@@@@@@@@@@@@@@@@@WW@WMWMWMMxMMMxMMMMWWWWWMMMWMWMMn#++++#++++++++++++++++++++++++
nz#nn#zxnnxMnxMMnMMMMnWMMWMMWMWWMnnnzxxznxMznzxMx#xxMxxMMMxxMWW@@@@@@@@@@@@@@@@@@@@@@@WWnWWWWMWMWMMMxnxxzznxxxxnzznnnznz###++###++++++++++++++++++++++
nxnxMnnnMxWMxMWMnxxMnzMMMMMxWMMWnzxzzxn#nxM#n+MMx#znMMMMMMMMW@@@@@@@@@@@@@@@@@@@@@@@@@nzznW@WWWMWxMxxnz#+##z####+*#+++#**+#+++##++++++++++++++++++++++
znnxMnMxWxMMMMWxnxxxnzMWxxnnMMMWnnnzzxxznnxzn#xMn#zzMWMMMMWW@@@@@@@@@@@@W@@@@@@@@@@@@@n#n#xWxxxxxxxxnzn#+#z###z+*++*+*+***#+++#z++#++*++++++++++++++++
nxznxnnnMMnxxMWznxxnzzMMxMnzxxxMnnxzznnznnnnnznx##zzxWMMWW@@@@@@@@@@@@@@M@@@@@@@@@@@@@x#+#zxnnzznznnz#n##nnzzznz#zz##+z++#n####z#++#+*+++*+*++++++*+++
zxxxnnzxxnznnxx#zxnznnMxMxnnxnnnxnxz#nxxnzz#n#zx#znnxMWWW@@@@@@@#@@@@@@@M@@@@@@@@@@@@@Mz##nnnzzzznnzn#n#nnxnnnMnnxxznnxznzxnWMxnzzz#++##+++++++++++++#
xxxxnzznMxnxnMn#nxzzzxxxnnnzxnxxnnxzzzxnn#z#nz#n#nnnnxWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMn#nznz#n#znnnnnn#xxxnxxMnxxxxxxMnMxMxxMxMxnnz##+##+#+++##+###+#
MMWnnznnWxxxzxn#nnnnxxzxxxn#nnxnxxxznnxnx#nznzzzzxnznxMW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWnznznznnznnnxnnz+xxMxMMWxxMxWMWWMWM@WWMMMMMxn#zznnzzz#z###znz#z
MMWnnznnMxMnznxnnnxxnxnnnMnnxxMnMxxnnzMnxzxnnzz#nxznxxMM@@@@#@@@@@@@@@@@@@@@@@@@@@@@@W@nM#znnxxnxxxxnxzzMxxxxMWnMWWWWWWWWWWWWMMxMxnnzznxnnnxnxznnxMnnx
WMWMxznnMnxxzxxxznxWxMnnxMnxxMxxxMMMnnxxMnMxzzn#xxzznxMWW@@@@@@@@@@@@@@@@#@@@@@@@@@@@W@nWzzxnMxxxnxxxnzzxMxxMMWnxMMMnWWWMMWWWMMxMxnn#nxMxxxMxMnMMM@MWW
WWWMMxMMMMWxnMWMxxMWMWxxWWWMxMxMxMWMnxMxMnWxMxx#MxzznxWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@nMxzxxxMxxnxxxnzxMMnMMMMnxMMMxMWWMxWWxnxMnMnzznWMxMMMxWMWWW@W@W
WW@WMWWWWW@MWWWMxMWWWWWWWWWWWWWWWM@xxMWWMMWMMxxnMxzzxMMWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@nMWzxxxxnMnxxnxzMxnnWnMnnnnxMxMMWWxMWnMxMnxzznzWMMWWWWWMWWW@W@W
@W@M@@WWWW@WW@@W@MW@M@WWW@@WWWMWWW@WMWWWWWWWWMxxMn#nxMWWWWW@@@@@W@@@@@@@@@@@@@@@@@@@@W@Mx@xMxxnxMxxxxxnMnnnMxxnMnxMMMxxMWxxWnMMxzxzxznWMWMWWWWWWWW@W@@
@@@@@@@@WW@@@@@W@WWWWWW@W@WWW@WWWW@@MWW@WWWWWWnMMzznxMWWWWWW@@W@@@@@@@@@@@@@@@@@@@@@@W@WnWMMMWznnnnnxnnMnnnnxnnMnWMMWzMMMxnMxMxnnnxMxMWMWWWWW@@WW@WW@@
@@@@@@@@@@@@@@@@@@@W@WW@@@WW@@@W@@@@W@@@WW@@@WzMxzznxMWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@Wx@xMxMzxxxnnnznMxxnnnzzxzMWMxnxWMxxMMxMMxxMMMWWMWMWWW@@WW@W@@@
@@@@@@@@@@@@@@@@@@@@@@W@@WWM@@@@@@@@W@@@W@@@@WxWxzznxMWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WM@zMxM#xxnznn#zxnxnzn##xnMxMxxnMWnMWxMWMMMWWWWWWWWWWWW@@@@WW@@
@@@@@@@@@@@@@@@@@@@@@@@@@W@W@@@@@@@@WW@WWWW@@@@@WWMWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@MnnxxzMnn#nMnxnzxznz#zxnxnMMMMMWxWMxWMWWW@M@@WMWW@WWW@W@W@@@@
W@@@@W@@@@@@WW@@@@@@@@@@@M@W@WW@@@@@WWW@@@@W@@@@W@WW@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@#@MznnxnMnMMxMWWMnzzznz#MnxnMxMWWWMWMMWMWM@@W@WWWWW@@W@@@@@@W@W
WW@@@@@@@@@@@@@@@@@@@@@@WW@W@WW@@@@@@W@@W@@@@@@@WWMW@@@##@@@@@@@@@@@###@@@@@@@@@@@@@####WxnzxWMMnznnnnzzxnzznz#xxnnMxMWW@WWMxWWWW@WW@WW@W@W@@@@@@@@@W@
@@@@@@@@@@@@@@@W@@@@@@@@W@@WWWW@W@@@@WW@@@@@@@@@M@MWW@@##@@#@@@@@@@@###@@@#@@@@@@######@xxxznMMxnnnxxxnnnnzzxzzxMnxMMMWWWMWWMMWWW@W@@WW@W@@WW@@@@@WWWW
@@@@@@@@@@@@@@@@@@@@@@@WMWWW@@@WW@W@WW@@@@@@@@@@M@W@@@@##@@@@@@@@@@@##@@@@#########@###@nnxnnMxnnnMxxMnxMzzzWznMMnxMMWW@@WWWWWWWW@@@@W@@@@W@W@@WWWW@WW
@@@@@@@@@W@@@@W@@@@@@W@@@@@W@@@W@W@@WW@@@@@@@@@@M@WW@@@#@@@@@@@@@@@###@@@@########@@###WnxxxxxxxxnMMnWxMMxnnMnnWxxMxMMMW@WWMWMW@@@@@@W@@W@@@@WWWWWWWWW
@@@@@@@@@n@@@Wx@@@@WW@MW@@@W@@@@M@@@W@W@@@@@@@@@W@MM@@@@#@@@@@@@@@@####@@@#######@@@##WxxxxxMMxnxxxxnWMMWMnxMxn@WMWMWWW@WWWMWW@@@@@@@W@@W@@WWW@WW@W@WW
@@@@@@@@@M@WMWWM@@WW@@W@@@@W@@@@W@@@@@@@@@@@@@@@zW@@@@@##@@@#@@@@@@####@@@#######@@@@@MMnMWMxMxxMxMxMWW@WWWW@MMWMMMMMWWWWWWWW@W@@@@@WWW@W@@WWWWWW@MWW@
W@@@W@@@@W@@@@@WW@@W@W@WW@@@@@@@@@@@@@@@@@@@@@@@MxW@@####@@@@@@@@@@####@@@#######@@@@@WMxWWxMMnxMxMxMWWWWMWMWMWWMMWWMMWWW@WWW@@@@@@WW@W@WW@WWWWWW@WWWW
xM@@@WW@W@W@W@@@W@@W@@@@@@@@@@@@W@@@@@@@@@@@@@@@MMxM@@##@@@@@@@@@@@####@@@#######@@@@WWWWWWMWWxMMMMMMWWWWWMW@MWWWWMWMMWWWWWWW@@@@@WWWWWWWWWMWWWWWWMWWW
@@@@@@@@@WW@W@@@W@@@@@@@@@@@@@WW@W@M@@@@@@@@@@@@MWW@####@@@@@@@@@@@####@@@######@@@W@W@WWWWMW@WWMMWMWWWWMWMW@WWWWMMMWMMWWWWWW@@@@@W@WWWWWWWWWWMWWWWWWx
MW@@@@@@@MW@W@@@@@@@@@@@@@@@@@@@WW@WW@@@@@@@@@@@MWW@#####@@@@@@@@@@#####@@@@@@@#@@@WWM@WMWMWWWWWWWWWWWW@WWW@WWWWxMMMxMWWWWW@@@@@@@@@WWWWWWWWWWWWWWWWWM
W@@W@W@WWWWW@@@@@@@@@@@@@@@@@@@@@WW@@@@@xW@@@W@@M@@@@@###@#@@@@@@@@####@@@@@@@@@@@@WWWWWWWMWMWM@WWW@WWWMMMMMMWWWMMMMMWMWWWWWWW@W@@W@WW@WWWWWWMW@@WWMWW
W@W@@WW@WMMW@@@@W@@@@@@@@@@@@@@@@@MW@@@xW@@@@W@@W@@@@####@#@@@@@@@#####@@@@@@@@@@@@W@WWWWWWWWMWWW@@WM@WMMMMMWxMxMWWMMWWWWWWWW@WWW@WWWWWWWWWWMMWWWMWWMW
@W@@@@@@W@WWWW@W@@@@@@@@@@@@@@@@W@@WW@W@@@@W@W@@W@@@@####@@@@@@@@@######@@W@@@@@@@@WWWW@WWWWMWMWW@@WxMWWWWWMMxMMMxWWMWMWMMMxMMMWMWWWWWMMMMMMMW@WMWWWWW
WWW@@WW@@W@W@W@x@@@@@@WWWWW@@@@@W@@W@WW@@@#W@W@@MW@@#####@@@@@@@@####@@@@@W@@@@@@@@WWW@WWWWWWWWWWW@W@@@@@@WWWWWMWMMMMWMMWWMMxMMWMMWWWWWWWWWWWWWWWWWWWW
MWWW@W@@W@@WM@@xWWMM@@@@@@@W@@@@W@@W@WW@@@@WW@@@nx@@#####@@@@@@@@@@@##@@@@M@@@@@@@@WWW@W@WWWW@WWMWW@@@WWMWWWWWMMWWMWWMxMMMMMxMMWMMWWWMWWWWWWWW@WWWMWWW
WWWWWW@@WW@W@W@@W@@WxW@@@W@@W@@@@@@W@WW@@@@@W@@@nnM@@@###@@W@@@@@@@@@#@@@@MW@@@@@@@WWW@W@WWWW@WWWWWWWW@MMxMMMWWMMWWWMxMMMMMMWWWWMWWMWMWWWWW@WW@@W@@WMM
WW@@WW@WWW@WW@@WW@@@@W@@@W@@WW@@@@@WW@@W@@@@W@@@znxW@@###@@WW@@@@@@@##@@@@MW@#@@@@@WWWWWWMWMWW@@WWWWWWWW@WMMMMMMMMMWMMxWWWWWWMMWWWMWMWWWWWWWWWWWW@WWxW
@@@@WWW@@@@W@@W@MWMxM@@@@@W@@@@@@@@WM@@W@@@@WWM@znnM@@###@@W@WW@@W@###@@@@MW@@@@@@@WWWWWWW@W@MW@WWWMMWM@@WWMWMMMMMWMMWMWWWWMMMMMMWWWWWMWWWWWWWWW@WWWW@
@@@@@WW@@@@W@@@@W@@@M@@@@W@@@W@@@@@WM@@WWMM@W@WWnnxM@@@#@@@@@@@@@W@###@@@@WW@@@@@@@WWWWWWW@WWW@WWMW@W@MWWWWWWWWWWWWWWWWWWWMWMWMWWWWMxMWWW@@@WWW@@WWWW@
@@@@@WW@@@WW@W@@WW@@WW@@@@@@@MW@@@W@W@@@W@WWWWWWxWWW@####@WMMW@@@W@###@@@@WWW@@@@@@WWWWMWW@MWMWWWWWWWWWWWWWWWWWWWWWMWWWWWWMWWMMMWWWMMWWWW@WW@@MWWWWWWW
@@@@@WW@@@@W@@@WWW@@@W@WWWW@WMWW@W@@@M@@WW@WWWxWxMWW@####@W@@@@@WW@####@@@WMW@@@@@@WWWMWWWWMMMMWWWWWWWWWWW@MWWW@WWWWMWWMWWMWWWW@WWMMMWWWW@WW@W@WWWMWWW
@@@@@WW@@@@W@@W@@WWWWMWW@@@W@WW@W@@@WW@@@W@@W@@WxWWW@###@@W@@@@WW@@####@@@WMM@@@@@@WWWWnWW@WWWWMMWWWWWWWWMxMWWWWMxMWWWWWWWMWWWWWWWMWWWWWWWWWWWWWWW@@@@