::::::::::::::::::::::::::::::::;::;;;;;:;::::;;;;;::;;::::::::::;;iW@@WMMMW@@###@@#;::;;;;;::;;::;i@W@@W@#####@###@
::::::::::::::::::::::::::::::::;::;;;;;:;::::;;;;;::;;:::::::::;;;n#@WWMMWW@####@#;;;:;;;;;;;::;;+MW@@#@@########@W
::::::::::::::::::::::::::::::::;::;;::;;;;;;:;;;;;::;;:::::::::;:*@@WMWWWWW@@@#@n;;::::;;;;;;;;;nWW@@##@#######@@WM
::::::::::::::::::::::::::::::::;:::;::::;::::;;;;;::;;:::::::::;;n@@WWWWWWW@@#@Mi;;;;::;;;;:::;xW@##@##@######@WMxM
::::::::::::::::::::::::::::::::;:::;::::::::::;;;;;;;::::::;;;:;iW#WWWMWWW@@@@W*;;;;;;;;;;;;:*MW@#####@@#####@WMxMM
::::::::::::::::::::::::::::::::;:::;:::::::::::;;;;;;::::;::;;::+#@W@WWWWW@@@@z;;;;:;;;;;;;;nWW@#######@W@@@@WxnxMM
::::::::::::::::::::::::::::::::;:::;:::::::::::::;:::::::;:;;;;;x#@@WWWWW@W@@Wi;;:;;;;;;;;*MW@@#########@WWWMxnxMMM
::::::::::::::::::::::::::::::::;:::;;::::::;;;:::::::::::::;:;;i@@@@WWWWW@@#@+;;;:;;;;;;;nWW@@@#########@@WWWnnxMMM
::::::::::::::::::::::::::::::::;:::;;::::::;;;;;:::::::::::;:;;##@#WWWWW@@##x;;;::;;;;;;#@W@##@#########@@WWWnxMWMn
::::::::::;;::;;:;;;;:;;;::;::::;;;:;;::::::;i;ii;;;:;;::;;;;:;:x##@WWWWW@@#@+;;;;;;:;;;*MW@###@########@@WWWWMxWMnx
:::::::::::;;:;#M@@@@M#;;:::;:::;;;:;;::::;+;.,i+z;;;;;:;;;;;;;;W##@WWWWW@@@W*:;;;;:;;;nWW@####@#######@@WWMMMWMWMMW
:::::::::;;:;#@#@@@@@WWW+;;;:;;:;;;:;;::::*z+i**#z+;:;;:;;;;;;;i@#@@@WWWW@@@W;;;;;;:;ixMM@#####@######@WWMMxMMWWMWWW
:::::::::;;*W@#@@##@@MMxMi;;:;;:;;;:;;::;:#nMxxxMMWx:::;;;;;;;;+##@@@@WW@@@@x;;;;;;:;xxM@######@#####@WWMxnxMMWMWWMM
::::::::;:*@W@@W@#@@#WnnMW#;:;;:;;;;:;::;;znMWMWWWM*;;:;;;;;;;:x##@@@WWW@@@@#;;;;;;:znxWW######@####@WMMnnxMMW@WWMMM
;;:::::;;;W#@@WW@WMM@@xnxWM*;;;;::;;;;::;izW@WWWWWM;::;::;;::;;W#@@@@WW@@@@Wi:;;;;:ixxWMM######@@@@@@WMnzxMWW@@W@xxM
::::::;;;x@@@WWMMMMnx@@@@Mx*;;:;;;;;;;;;:zxM#@@@@Mn;;:;::;;:;;i@#@@@@@W@@@@n;;;;;;:#nMMWW########@WWMxnzxMW@#@WW@nxW
;:::::;;#@@WMxMxMWW@#@@@@@@x:::::;::ii;;nnW@##@#@nn;;;:::;;::;*##@@@@@@@@#Wi;;;;;;+MxMMMW#########@WxxznxW@##@MWWMMW
;::;;;;;@@WWxxnnMMW@@WWWWW@W:;;;;;;:zWWzWnx#####@@Wx;;:;:::::;###@@@@@@@#@z;;:;;:zMnMxxx@########@WWxnnxM@@@@WMWWMW#
;::;:;:#@WMMWWMMMMxW@WxnxWWM::;;;:;;#x@@MxWW@###@WWx:;:;:;;;:;x##@@@@@@@#Wi;::;:iWMxxxxx######@@@@WMMnxx@@WWWWMWWW+;
;;:;;:;W@WxMWx@MMxnxMWxnxW@xzz;;;:;izz@@MnWxW@@WxxMMi;:;:;;;;iW###@@#@@@@z;;;;;:nxxxnnnW####@WMMMWWxxMMW@WWWWMMWn;;;
;;:::;*@@MxnMnMxxzxMWMMMWW@@W@n;:;;nnzxMxW@@@@@@WnM@@z:;;;;:;+@##@@@##@#@*;;;;;:Mxxxzzx@###WMxxMMWxnxMWWWMWWMxWi:;;;
;;::;;#@WMxxWWWWWWW@xnnnMnM@xW@W*;#xxznWMW###@@#@M@@#@x*:;;;;z###@@#####Wi;;;;;:nxxx+nW###WnnnxxWMnxMW@xMW@MMW#:;;ii
;;;;;:n@WWxWxxxxxxMWMWMMWzMW;;W@MMMWxnzMWW###@M#@MM@@@@@ni:;;x###@@#####W;;;;;;;xMMn#M@@@@xnnnxxWnnMMWMMMWWWx+:;;;*+
;;:::+@@@WMWMxxnz##zznnxMxWn*zW@MWM@MxznM@######WMx@WMMWWMz;;M###@@@@###x;;;;;;z@WMMx@@@#@nz#nxWMzxxMWMWWW@#:;;;;;*#
;;;;:#@WMWWxnnnnnnnzznnnnxxxMMWWMMW@WxnnxW######nMnWMxnnnxxn*W###@@@@@##z;;;;;;MMWMW##@@#@xnnMWWxxnMWMMMWW@x;;;;;;+#
;;;;;+MMMxxnxxz+ii*+zxxnnxxxMMMWW@@@WMxnxM@####@MWn@WMxnnnxxn@##@@@W@@@@*:;;;;;xWWM@#@@###@@@#@MWWWWMWW@@W@i;;;;;;++
;;;:+nWMxxxx#;::;ii+**+nxxxxxMMMWW@@@xMxxxM@@M@@@WnMWWMxxnnxxW@##@@@@@@W;;;;;;;;WWM@@@########WMxMMMM@@@x+i;;;;;;;i+
;;:#MMxxxxM+i;;;*+i***#+xxxxMMMMWW@@@xMxxMMWMnMW#WxxnW@MxxxxxMM@##@#@##M;;:;;;;:xWW@WW@#@####@MnnMWMW@W@x:;;:;;:;;iW
;:iWMxxxxMz**i;;i;i*+**+zMMMMMMMMW@@@MMMMMMMW@@@@WxxnnW@MMxxxxMM@######z;::;;;;;n@@@@@M@@###@@MnxWW@@M@@@i;;:;;;;;M@
:+MxxMxxxxnz#i;iiii*+*+znMMMMMMMMMW@@WMMMMMMMWWWMxM@WMMM@WMMxxxMM@#####*;::;;;:x@@MW@@@M@#@@@WxxMW@WxMMW@i;;;;;;;n@@
nMMMMMMMxMxz#+**i**+#z#zMWMMMMMMMWWWMWMMWWMMMMWWWnM@@x:,+WWMMMMMMM@###@;;;;;;:;@xMMxMxMWW@@@WMxMWWxxMWWM+:;;;+i;#@@@
MMMMMMMxMMMxnz+++#+#zzxM@WMMMMMMMzii*+nMWWWWWWWWWWWxi,..,x@WMMMMMMW@##W:;;;;;;;WMW@@WnxWMWMxxMW@WWWWMWn;;;;*xn;*W@@#
MMWMMMMMMMWMMnzz#zzznMW@@@MWMMMM#i:i++*nW@@@WWWWMxz*;:,,:n@@WMMMMMMWW@x:;;;:;;:*#+i;iMWWM@WWWW@WWMnWWx;:;;zWM*;n@###
WW@@@WMMMMMMWMnxMMWW@@@WW@@WMMMx*i;;i+i#MW@@@@WWWMn+i;;;;in@WWMMMMMMMWM#;;;;;;;;;;;;;;;#@MWW@@n;MMW+;;:;;+W@ni#M#@@@
######@WMWWW@WxMW@@@WWMWMMW@@WWz+*i;;ii*nMW@##@WWWx#+*ii**+n@WWMMMMMWWWnz*i;;:;;;;;;;;;iWzxMMW*;;#i:;;:;iM@M**zW@@@@
xx@#####@W@@WxxMMMMMMMWMMMMW@@Wziiiiii*+#MxxW@W@@WWz#++++++#M@WWMMMMWWWWMnn#*+#;;;;::;;;zWxMWMn:::;;;;;;#Wxi;+xMWWxz
#x@WWWW@@@WxxzznxxMMMMMWWMMMW@@n+****#++znxnM@M@#@WMnxn####znWWWWWWWWWWWWMxx#*#n*:;;;;;;:;MMWW*;;:;;;:;inzi:;#nxxz#z
*MMMxxxxWxnxxznnnxxxMMW@@@WWW@@xz#++###zznnxM@WW@#@@WW@MnnnnxM@WWWWWWWWWWMMMn*#nx#;;;;;;;;;nzxi;;;;:;;;*i;;;;#zz#+#+
MMxxxMxxnnxMxxxxxxxxMW@@###@@@@WnnzzzzzznnxxMWWM@@@@MWWWMMMMMWWWWWWWWWWW@@MWMx+#xxzi:;::;;;;:;:;;;;;:;;;;;;;i#+***i*
MMxMMxMxxxMWWWMMMxMMW@@########@MnnnnxxnnxxM@@WMW@WWMMMnxMMMMW@@WWWWWWW@@@WWWWWnnxMn*;;;;;;;;;;;i;;;;:;;;;;;*;;;;;;;
MMMWMMWxxMW@##@WWWWW@###########@MxxMxMMxxMW@@@WWWxMMn+;,inMMMW@WW@Wxnz#zW@@@WW@MxWWW;;;:;;;::;:z;:;;;:;;;;;;;;;;;;;
MWW@@@@@W@###@#@@@@#############@#WWnnMMMMW@@#@@WMnxWn#***#xWM@#@@@nzz**+zW@@@W@@MnnM##Mn*:;;;;;;z:;;;:;;;;;:;;;;;;;
@@@@######@@WxMx@@W@###############@@WWWW@@#M@#@MxxxWxnz#zzxWW@#@#Wn#+z*nnxMxxWWMznMxMxxxMz;;;;;##;;;;:;;;;;;;;;;;;;
x+n#######@M#*#xW@W@@##############@###@@@#@xW@MMxMMWMMMxxxx@MW#M#Wn#*i*MMMxxxMMxxxznzxMMMxn#;;;;:;;;;;;;;::;;;;;;;;
:z@@@####@@Wzz#xM@#W@@@############@@##@@WWWMMWMMxMMWWMnMMMM@xx@x@W#i+#zMMMMxxnnxxxxnxnznxxxx#;;;;;;;:::::;;;;:;;;;;
+@WW@#@@@@@#WWMxMW##WW@@######@####@@#@#@MnWMWWMMMxWMMz*izMMWxxWx@@MMMxWWMMxMxnnnxMnxznxMMMMMMi:;;;;;;;;:;;:;;*;;;;;
;n#WWWWWMWW#W#+zMW@##WW@@#####@####@W@##@xzWWW@WMMMMMMz#+#nMWxW@xW#MxWWWMMMMMnMWWWWMxzxnnxxMMMM*;;;;;;;*W@@#:::;;;:;
+xMW@@@@Wnz@@z#xMMW@#@M@@@@###@@#@#@WW@#@xnM@W@WMMMMWWnzzznMWW@@xM@@MMMMxWWMMxMWWMW@WMxnxxMMWWWWz;;;;:;#WxMnixx*;;:;
MW@@@@@Wz**#W@WWMWW@#@@MW@@@###@@@#@WW@#@xxx@@@@WMMMWWxxxxMWWMMWxM@@WM@@@@@WMM@@@WMW@WMxMxMMMMMWMi;;:;+nMxxWxM@Wi;;;
W@#@@##@n+*#zM@W@W@@@##@M@#@@##@@@@@MMW@@xMMW@@@@WMMWWMMMMWWMMMWMxW@W@@@@@####@WxzzzWWWWWWWWWWWWMMi;::#nnnxWx@@@n:;;
MW@@@##@xzzznxMWMW@@####MW#W@@##@@W@MMW@WMWMW@###WWMWWWMMMWMxW@@MMM@@WWW@#@##@@Wz+**#M@@@@MMWWWWWWW+;;xMxxMnnW@@W*;;
WW@@@#@##@@Mnxn+nW#@@###WW#WM@@##@M@MMW@WMWMW@###@WWWWM##MWMMW#@MMMW@MW@###@W#Wnz#+*+zW@@@WWWWMMMMWWizzM@MMWMxW@@n;;
@@@W@####@@@xMz+#M@@@##@@W#@MW@###WWMMM@WWMzM@####WWWWMzzxWWMW#@MMMWWMW@##@WM@@Mz##+#zW@@WWWMWWMWWWWx#nMW#W@@@MW@Wi;
@#@nW####@#@M@nznxW@###@@W#@WW@@##@MWMM@MWMnnW####@WWWWnnxMMx@#@WMWWWMW@@#@MW@@WxnzzznxMWM@WMMWWWWWW#ixMnM@###@WWWM;
##xzx@####@@W@@WMxxzM@##@W#@W@@@@@@MMWMWM@WxnM@###@WWWWMxMWxM@@WxMWWWWW@M@W@@WMMWWnnnnxMWM@WWMMWWW@Mi+WW#W#####@MMW*
#Wznn@##@WMW@###@Wx#nW@@@W##@@M@@@@WnnMWW@@WxxW@###@WWWWMMWMWMM@W@WWWWWMMMW@WMnx@WWxxxMMWWWW@WWWWW@xzMMM#xWW@##@MMMi
@xnnnxW@@W@W@####WMxMMW@#W###WW@#@#@nzzMW@#@WWMW@W@@WWWWMWWMx@@@W@WWxMMMMMWWWMnznxW@MMMWW@@@WWWWWWWMzMMnMMMMMW@WMW+;
WnxxxxMWWMWW###@@W@#@WW@#@##@@###@@WWxnznM@@nWWWMMWxMWWMznMx++++*+++zxWMMxWWWMnz#+#xxWWWW@@@@WWWWWWWxMxx@#@MMMMMMxx;
WxWxMMMMxMW@##@WW@###@###@########@@WWMMMMMWxMW@WxM;izWWxxM#+++***+#xxMWMxWxWMnz##zznnxWW@@@@@@@@@@@MWMM@@#@WWWMWM*:
WWMW@@MMMM@@#@W@@####@#@#@#######@@@WMW@@@W@@MW#@WWx*izMMMMMMnxnzzzxxnxnMWMnWMxnzzznnnnM@#@@@@@@W@W@WMWMW@##@WWWW*;;
@#Wx@MWMMWWWWW@@####@@############@WWMW@WnW@@###@@Mx#iinxMMxnxMMMMMxnnnz#z+xWMxnnnxnMxxW@##@@#@#@@@WMn@@WW@@WMMMW#;;
@#@x@WWMWMMMMM@####@@@@#########@@@@WW@@MMWM@#@@@Wxnxii+xMMMWWMxxWWxxz###izx@WMMxMMW@WMWW@@#@#@@@@@@MnM@#WMWWMMWzi;;
@#@MW@WWWMxWWWW@@@@@#@x@########@@WWMMMxxW@@#@@@@@WMx#**WWW@##@@@@@M#+**++i+W@MM##M@MMWxx@##@#WxMMWWWWM@##@WMMWWi;;;
@#WWW@WWMMWWWWMMMWW@@z:*W@@Wxzn##@WMnnnMW@MW#@@###@xznxM@@@#######@xz+*xi+++*MWWnnxMx*zWMW@@@@WnzxWMWWWM@@WMxMWn;;:;
@WWWW@@WW@@@WMxMWWMWW;;:;+i:::i@##@@WWW@WWW@##@@@##WxxxM@########@@@xz*#zi#+*zMWMMW@M*+xzn@WWWznxWWMWWW@@WW@@WM:;;;;
WWMWWW@WWWW@WMMWW@W@n:;;:;:;;;;**n@@WW@WWWW@@@WWW@@WWWW@###@@#@@@@@#Wz**#+i+#zMWM@@#@#+#znMMWxnzWWWMMWW@@MM@@W#;:;;;
xWWWWWWWWWWW@@W@@@Wxi::;;:;;;;;:iMMMWWWWWMW@W@@@@@x#znnW@W@W@@MM@#@@Wn#ii+ii##nxn@@WxnnnnxMMxxzz@nMWMMW@@@@@@M;;;:::
zMWWMMWWMMWW@W@WW#;::;;;;;;;;;:;#WMWWWWWWzMWnnMMMnnnz#nMM@@@@@WW###@Mzz;;i***z#*+Mxn+#nxxxxMxnzzWxMWMxxxW@@@x;;;;;;;
M@@WMMxMMWMMxxxxMi;;;;;;;+;;;:;;;MxMWWMWMzM@z#zz##zxnnWWW@M@##@@###@z+#;;;*+#z;i*;*#MxxxnnzM@MzzWMM@@Mxx@@x*:;;:;;;i
##@@WMMxxnxMMMMWn:;;;;;;;iii;;;;*WxWMMMMnxWWMz#####nnW@@W#x@#@WM@#@xz#zi;;i#zn;;;i*#MMnMMMMxnMnxMWW@@z+z#i::;;;;;;*M
@W@##@@MxnnxMM@@+;:;;;;;;;x#;;;:#WMWMMWMxMWMWWn###nM@@@@W@MW#@@MM#Wxnnn#iii*#n*iiii+xMxzMzWnxxxxMW@@#;;;;;;;;;;;;z@@
@######@@@@@zW@@;;::;;;;;;*;;::;MWW@WWWWWMMMW@@@MW@@#@W@M@MW#@@xM@MMxxxx****##+;;;i*+xzxn#xMxxxMWW@*:;;;;;;;;;:in@@@
#@@@WM@@@@@zM@@x;;i+;;;:;;;;:znxxMMWWWWWMWMMW@#@MW@#@MWWMxxMW@WnM@WWWW@W#+++zz+*iii**zMxzznxMMxMW@+;;;;;;;;;;:+M@@@@
@@WMWWWWW@zn@M+;;;;;;;;:;:;;;xxxxxxxWW@@@@WW@@#WM@@@MWWWWMMMM@Wnx@@###@M####zx*******+nxnnxMWMMW@W;;:;;;;;;;;+xWW@@@
@@#@WWW@@#zx*:;;;;;;;;::;:;:;xMMMMMMMWW@#######WW@WxM@WWMxxMM@@nM@@###@n####xM++###+++nMxxMWMMW@@n:;:;;;;;;;*#znW@Wx
####@@@M++i:;;;;;;;;;;:::;;;:xWWWWW@@@@@@WWWWWWW@WxMWWWMMxxMMW@xW@@###@####zWx########nMxMxMW@@@Wi;;;:;;;;;;i#zz+ii;
@@@@WMz*i;*#znnnnz#+;:;;::;;;MWWWWMMMMWWW@@@##@WMxMWWWMnxzzxxM@x@@@###M+###x@M########xWW@WxMWW+;;;;:;;;;;;;i;;;;;;;
nnz#+z#+xWWMxnnnnnxxMx+;;;:;nMxxxxMWWWWW@@####@MxMW@WWMxMxnxMMWxMWM@#@#+##x@WM########MW#@nnnn;;:;;;:;;;;;;;*::;;;;;
i*iiizWWWWW@@@@@WMxxxxxxi;:zxxMMMMWWWMxMW@##@@MxMW@@WWMxxznxMMMnnxM@#WnnxW@@z#n######M@@@xMxxx++ni;;;;;;;;;;;;;;;;;;
;;;#W@@@#####@#@@MMxxxx#x+;zMMMMW@WMxxM@##@WWMxMWW#@WWMxxnnxxWxxnxW@@z++++zz;*zMz##nW@W@xnxMxMzn@#;;;;;;;;;;;;;;;;;;
;*M@@####@#####@@Mxxnnxn+MWWMMM@@xxxW@##@WMWMxMWW@#WWWMMMMxxMWnxxM@#W#++*+z#*i#x@@@@M+iz+xW@WMMW@z;;;;;;;;;;;;;;;;;;
n@@@####@##@##@@@Wnnnznx#zxM@MWWnMW@##@WMW@MxMWW@#@WWWMMMxxMMMnxMM@#Wnzzzzz#+++zW@#*;*#zWM@@xnxW@n:;:;;;;;;;;;;;;;;;
@###@####@WMMW@@@@MnznznnzxxM@MxMW@#@MxM@@MMMWW@#@@WWWMMMxxMMnxMnxW@z*ii#i*#z##zMM#*i+#xWW@WMxxMMn:;;;;;;;;:;;:;;;iz
#######@@MxxxxxW@#@M##nnxzxnx@xMW@@WxxM@@MMWWWMMMMMWWWWMWMMWMnWWxxWx+**+*i*#zMMMW#i;;ixMWMMxnMWW@i;;;;;;;;;::;*;;#M@
@@@#####@MMxnnnx@##@M#zxxnnnn@MMWMxxMM@@WMxnzzzznnnnnxMMz##MxxWMMWM+++z+**+M@@@Wn*iiizxWWxxMxxW@Wi;;;;;;;;;;;;;;#xW@
#@W#####@MMxnnnnM@@##WxMMnnnMWMxMMMMWWWWWWMxnzzzzzzzznnz;;*MnnxM@W+++z++*+M@@@z#+**++nMWWMxxWW@n;;;;;;::::;;#;;+zx@@
##@##@###@Mxnn##n@#@#@@@MxMMW@WMMMW@@@#@@MzzznxxxxxxxMMz;;*MxMW@W#++##+#n@@M@Wz##+++znxW@WWM@@@zi;;;;;;;;;;;;;;+nxxx
#@@##@###@@@MxxnM@###@@@WMM@WM@WWW@@##@WnzzzxxMMMMMMW@Wn+#+MW@@Wz##zz#zW@@nzxxx#####zn#WW@W@@@@@WWMxxnnnnxxxnz##****
#@######@@@#@@@@@####@@WWWMWWM@WWW####MznznxMWWWWWW@#@@Mxnzx@#Wz##nz#x@@@nxxMxMz###zz##MM@@@@@@####@@WMxnnnnnnnnxxn#
@@####@Mxnz@@@@@####WW@WMWWW@M@W@####WnxxnxW@@@@####@@Mxn#nW@#@@MzzzM#@@MWMxnnxMz#####MMW@##@##########@WMxxxnnnnxxx
@#####MMxnx@@@#####@@##@@WWW@@W@####@W@WMMW#######@@WMxWWx@Mx@xM@xzW##WMxnnnxxMMMxzzxxzzzx@#@@###########@@WMMxxxxxx
@####@WWWWWWW@@@@#@W###@#@W@@@@#######@WMM@######@WMMM@###Mnx@nxWWW##WxxMWMxxxxxxxxxz####znW@@##############@@WMMxxx
W@@@WWMMMxxxMW@@@@@@######W@@@########WMx@##########@##MW@@@@#WW@@#@WxWWMxxxxnnnnnzznznnnxxMM@@################@WMMM
@@@WMMnnzznnxMW@@@@@###@@@@@@@######@WMxM@##########@M#iW@WW@@W@#xxWMWMxxxxxxxxxnnznznnnnnnxxxMW@@@#######@@@###@@WW
WWMMxxz##znnxMWW@@WW@@@WxWW@@@@@####WWMM@#########Wx#***W@MM@WMWWnWWWMMxxxxxxxxxxnnnnnnnnnnxxxxMMW@########@######@W
WWMxnzznxMWWWWWW@@MxMW#@WWWWWW@@###@WMxW@@@#@@#@Mz+++++#x@WW@@@WxWWWMMMMMMMMMMxxxxxxxxxxxxxxxxMMMMWW#######@@######@
W@@WxxW@@####@@@WWWnWWWW@@WxxW@@##@@WMM@@W@@@@Wnzznz##zzzM@##@@WWWW@@@@@@@@@@@WWWMMMMMMxxxMMMMMMMWWW@####@@@######Wn
WW@#@@@@@@@@W@@W@W@@WxzW@@@@WW@@##@@WM@#MMWM@xzzzzzzzzznxWWMMMWWWWWWMMMMWWWWW@@#####@@WWMMMMMMMMMMMMW##########@n*:;
MW@###W@@@@@WW@MnWWMWWM@W@@@@@@##@@@@W#@xWxWWzzzznMWW@@#@xMMMMWMMMMMMMMMMMMMWWW@@######@@WMMMxxxxMMMMW@@######Wi:;;;
W@#@@##@@@@@M@WxnMMMMWM@xn@@#####@@@W#@xMxWWW@W@@@@@@@#@WMxxxWWMMMMMMMMMMMWWWWW@@@@#@WMxnxxMMWWWWMMxxMM@#######W+;;:
#@@@@@@@Mz#M@@WxWWWMnnxnzM######@@@@@#WnW@WWW@MM@@@W@##@WxxMWMMMMMMMMMMMMWWWWWW@@WMMMMWW@@@@@@WxxxMW@WW@@@@######M*;
@@@@@@+;:;;;*WWMW+n####zn@######@@W@#@xM@@nW@Mxx@#@MW@@##@WMMMxxxMMMMMMMWWWWWWWWW@@@#####@@@WxxMW@@@@WxzzznM@#####@n
@@MnW#;;;;;;:;zM#xz##zzzMW#####@@W@##Wx@@@Mn@xMx@##WMxxMW@@@WMxxxMMMMMWWWWWW@@@@@WWWWWWWWWWMMW@@@@@M#+**+#zxxW#@##@@
#W#xW;;:;*;z*;::#xzzzzzn@WW@##@WW@##@xW@#@Wz@xMM@#W+i*+###x@@@MxxMMMWWWW@WWWWWWWWWWWWWWWWWW@@WMMWWzii*+++#znxx@##@@@
@xMWW*;;;ii+;;;iMxnzzzzxnz#@#@WW@###WM@@##@zM@MW@n+#+ii*+znxW@@MxxMMWWWMMMMMMMWWWWWWWWWW@@@WMW@@Wz+ii*++#znxxxM##@@@
@WMzMx;;;;;;:;:xWWMMxznx*i*z@@WW@##@MW@###@nnxMWnz*;;;i**+zzxM@@MxxxxxxMMMMMMMMWWWWWWWW@##@@@WMM+*#*++z#znnxxxM@####
WWnxWMx;:;;;:;*@@@WWWMx++***#W@@###@WW##@#@xxzMMz;;;;;;i*+zzzMW@@MxxxxxxMMMMMMMWWWWWW@###@@@MxW#**+**#nznnxxxMMW####
@MxWxnWWx*;::;M@@WWWWMxi*n+++izW@@@W@@#@W@@MzzWxi;;;;;i**+#z#zW##@MxxxxxMMMMMMWWWWWW@#####@MxWz##+++##nnnxxxMMMW@@n@
@MWMnxWMW@Wxnn@@WWWWMM+;;+#*i;i+#nxxW#@xMxWM#nx+i;;;;i**++#zz#n@##@MxxxxMMMMMWWWWWW@@#####WMWnnzz#znnnnnxxxxMMMxiz#;
@WWMMMMMWWWWW@@@WWWWMxi;;;+z*i*+#zzM@@xnMxMx#Mx*i;;;i**++##nz#zW###@xxxxMMMMMWWWWW@##@###@MWM#zznnnzznxMMMxnxMMx::;;
@@WMMWMMWWWW@@@WWWWMMzi;;;;i##znnxx@@xnnMxWnnM+*iiii*++###zz###M@###@xxxxMMMMWWWWWW@WW@##@W@nzzzn*+nxxxMWMnxxMMx;;;;
###WMWMMWMWW@WMMWWWMM*;;;;;i**+znxW@MxxxMxWnx+*iii*+nxxz##zz###M@####WxxxMMMMWWWWWWWWW@@@@#Wnzzn*+xxxxxxMWMxMMMx;;;;
####@WWW@WW@WMxnxMWMni;;;;;*i*+#zMWWMxxxMMMW#**ii*#z**+++#z####W@#####WxxMMMMWWWWWWWWWWW@@Wxnnnz+xxxxxxxxxWMMWWW#;;;
@#@W@##@@@@WMxnnnnxM+;;;;;iii+##xMWWWMMMMMMM+****+n;;i*++zz###zW######@MMMMMMMMWWWWWWWWWWWWxnnnzxxxxxxxMMxMMW@WWxi:;
@W@###@@#@WMxxnnnnnni;;;;;ii*+#zMMMWWWMMMMWM+***+z#ii**+#zz###n@#######@WWWWW@@@@@@@WWWWWWWxnxx+xxxxxxMWWMM@@#@Wz*;;
@W@@@@@#@@Wxxxnnnnx#i;;;;ii*+##MxMMWWWMMMWWW+**++n+**+##zzz###x@#################WMM@MW@@@WxxMxnxxxxxxMxxMx@@#@xzi;:
;#xx@@@@@@Mxxxnnnxx*;;;;iii+##xxxMMWWWWWW@@@#+++#x++####zznz#zW################@MznWMW@@WWMMxxMxMMxxxMMnxWM@#@WzxM;i
;;::;i;;i#MxxnnnxW#i;;;i*i+##nMxxMMWWWWW@#@@n++#Mn+####z##x##n@###############@xnzzxMMMWW@WMxxMMWxxnnxMnxMW@#@MxW#W*
;;;;;;;::xxxxnxxxn*iiii***##zMMxMMMWWWWW@##WM##nz#####zz##n#zW#@##############WxnzzznxMMMWMxxMM@@MnxnnMxxx@#@@MM@#@@
;;;;:;;;iMxxxn##n**iii+**##zxxMMMMMWWW@@###WM##n#####zz##zz#M@W@#############WWxnznnnxxMMWMMMMMW#@MnznnxMW##@@WW##@@
;:::+z:;zxMzii*x#+***+++##nMxxxMMMMMWWW####Wxn#zz####z##zz#xW@W#############@@@xxnnnxxMMMWWMMMMW@#@WxMMM@@#@@@W#####
;:ii*i;;Mni;;izz++###+##zMMxxxxMMMWMWWW@###@Mxzzzz##n##zzzM@@###############@W@xxxxxxMMMMWWMMMMWW@@#@@@###@@@@######
::::i;:+#;;;;i*++#znz#zMWMxxxMMMMMMMWWWW####@xnxxxxz##znMW@################@WWWMxxxxMWMMWW@MMWW@W@@######@##########
;;:inniz;;;;i*#+*znxxxxMxxMMMMMMMMMMWWWW@####@WWMxWMnnzM@####@#############@WWM@WMMMWWWW@@@WW@###@#####@@###########
:;;xMz#*;;;;i+#i*##nxWWMxMMMMMWMMMxW@WWWW@####@@@WMWWWM@###################WWMxMWWWWMMMWWW@@@@#######@@@############
z;:zz:zi;;ii++*+zzzxWxxxxMMMMMWMMMW@WWWWW@######@@@@@@@###################@WWxnxM@@@@WWMMMWW@@@@@@@@@#########@#####
;;;:;;#i;;i*++nnxnxWxxMxMMMMMMWWW@WMWWWWWW@##@############################@WMnnMMM@@WW@@@WW@@@@W@@#######@####@#####
:;;;;;+i;ii+#xxzzzzMxxMMMMMMMMMMWWMMMWWWWWW##############################@WWxzxMMMW@@@@@@@@WMMW@####################
;;;;;*+i;i*+zn#nzzxxxMMMMMMMMMMMMMMMWWWWWWW@########@####################@WMnnxMMW@WWW@@@WWMW@######################
;::::z*ii*+#nzxz#nMxxMMMMMMMMMMMMMMMWWWWWWWW###########MW###############@@WxnxMMWWWWWW@WMMxW@#######################
;;;:;M*i**+nzxz#zWMMMMMMMWMMMMMMMMMWWWWWWWWW@##########M*@@#######n#M@##@@WMnxMWWWWWWWWMMM@#########################
:;;;iW+**+zznn#nWMMMMMMMMWMMMMMMMMMWWWWWWWWW@##########@;n########M;:+W@@@MxxMMWWWWW@WMMW###################@zzznM@@
:;;:#W+**#zzzzMMMMMMMMMMM@MMMMMMMWWWWW@WWWWWW@#########@*;M#######@i;;#@@WMxMWWWWWW@@WM@############@#######@;;;;:;W
;:;:nW+*+z#zMWMMMMMMMMMMW#WMMMWWWWWWWWW@WWWWW@########W@n:i@#######+:iW@@WMMMWW@@W@@WW@###########@@@@@@####@z;:;;:*
;:;;MW#+#zzWWMMMMMMMMMWW@#@@@@@@#@@@@WW##WWWWW@#######Wix:;+#######n:n@@@WWMWWW@@@@@W@###########@iz@@@x@@###@i;;;;;
;;;iWWz+z#MWMMMMMMMMMM@####@WWWWW@@#######@@WW@@#######+ii;:n@#####W*@@##@WWWWW@@@@@@@######@W@@@@i;iznMnxxxxzx;;;;;
;;;#WWz#zzWWMMMMMMMMW@@##WMMn#nxnM##########@@W@#######x:;;;;x@###@@WWM@#@MxMWWW@W@@MW@@#####+*x@@W*:xnWxxMMzx@#:;;;
;;:nWMzn#xWWWMMMMMW@@@##@x#+*i##xM############@@#######W;;;;;;W#####@WxM@@@MnnxMMWWWM+i+M@@@@@;;*W@@#M@WWMxn@x@@i;;;
+;;MWxzn#WWMWMMWWW@@####Wxzzzz#xx@#####################@i;;;;;#@###@WWMxM@@@@WW@W@WWM+;;;n@@@@z;;iz@@x+M@Wnx++@@W;;;
:;;WWzzz#MMMWWW@@@#####xi;+zzznMW############@W@#######@#;::;;;n##@@WWWMMW@@#@@@@@@+:;;:;:#W@@W;;;;xW+;z*xW*ni@@xz:;
;;*WW#z#zWWWW@@######@#;;::;i#z+x@@##########@WW@###@@@@n;::;;;i@@@WWWWW@@WMMW@@@W@n::;i++i;i+M;;;;;M;;;;+;:;;#MxM+;
;;#Wx#z#xWWW@##@@@@@xi:;;::;:;;;;M############@WW@#@@#@nn;::;;;;W@@WWWWWxnzzW@@@@W@WnxWWWWWM+;;:;:;*+i;:;#:;;;;#xWW;
;;MWzz##xW@@##@@@@@W*:;;;;;;;;;;;;M@@##########@W@##@#@i:;;;;;;;M@WWMMMMMxM@@WMMWWMMMWWWWWMMMn;;;#+i+::;;;#;;;;+#z@z
:;#n+z+zn@@###@MxMxxx+;;:;;;:;::;;;W##@@@@###@WMWWM@@#@#;;;;;:;;#WMMWWWMMWWMxznMxxMM@@@WWWMMMxx;;::#+#+z*z++iz*#ii#M
;;*+#++*W@####Wzzzzzzx*;:::;;::;:;:i@@@##@#@Wnz#xWnzW@#x::;;:*:*WWW@WMMW@MxxxnnnxMMWW@@@WWWMMMMn;;;z*;;;:i;;*;+#;;;+
;*+#*++z@#####@zzzzzznx;;;;;;:;**z;;+@@##@@MxnzzzWxznxWW;;;:+z:MWWWWMW@@WMMMxnxxxMMMWW@@@WWWMMMM*;:+;;;;:*;;;;:i***i
;+++*+z@@#####@xzzzzzzxz:;;ii*MM;::;;n@@@@@WxxnnzxWxnxxM#:::;;+@@WWWW@WWWWMMMMMMMMMWW@@##@@WWMWMx:;;;*;zn#++z#;;;;;;
+*+*++M@@WM@###Mnzzzznnx*;nMW+*x+;;;;*@W@@@@@MxxxxWMMMxnnnni;;M@@@WWWWWWWWMMMMWMMWWW@@#####@@WWWWi;;:#zzxxnzz;;;;;::
i+i*++M@Mxx@###MMxnzznxxxxxxMx+WW#:;nWMWWW@@@WMMWWWWWWWMMWW*;+@@@@@@@@@@@WWWWWWWWW@@@#@@@@@@@WWWWz::;;::;;;:;;;;;;;;
**i**+MMMMM####WMMxxxxxxxMxMM#@WxzxMMMMMMW@@WMWMMWWWWW@@@W@+;n@@@@@W@@@WMWWWWWW@@@@WMxxxxMMMMxxxxMxi;;;;;;;;;;;;;;;;