nnnnnnnxnzznnnnxxxxxxMMxxxxxxxMMMMWWWWWWWWWWWWWMMMMMMMWxxxxMMMMMMMWWWWWWWWWWWWMMMMMMMWMMWWWW@WWWWMMMx#*;i,:i*#x#x**zz+*;;i;;;;i;iiiii;ii;;iiiii;;
nnnnnnnxnznnnnnxxxxxxMxzxMxxxxxxxxxxxMMMWWW@@WWWWMxxxxWxxxxMMMMMMMMMMMWWWWWWWWWWWWWMMMxMMMMWWWWMMxz**,,:i:;*+zx#xi*##+*;;;;;;;i;iiiii;i;;;;iii*ii
nznznnnxnznnnnnxnxxxxMxzxxxxxxxxMxxxxxxxxxxMMMWWWMxxxxWxxxxMMMMxxxMxMMMMMMMMWWWW@WWWWMxMMMMWWWMn+*;:i,::;;+#znM#xii##+*;;i;;;ii;iiiii;i;;;;iii*i*
nnnnnnnxnznnnnnxnxxxxMx#xxxxxxxxxxxxMxMMxxxxxxMxxxxxxxWxxMxMMWWMMxMxnxMMMMMMMMMMMWWWWWMMMMMMxz**ii::;:i,:*#zzzM#xii##z+::i;;iiiiiiiii;i;;;;iiii**
xnnnnnnxnznxnnnxnxxxxMn#xxxxxxxxxxxxxxxxxMMMMMMxxxxMMMWWWWMWWWWWWMMMxnxxMMMMMMMMMMMMMWMMMMM#+**i;;;:,,i,i+#zznM#x;i##+i::::;;i;;iiiii;i;;;i;ii***
MMMMMxxxn#nnnnnxnxxxxMn#xxxxxxxxxxxxxxxxxxxxMMMxxnxMMMWWWWWWWWWWWWWWWMxnxMMMMMMMMMxMMMMxxMM#+i;;:;;:,,ii+#zzznM#x;i##*i::::::;;;;iiii;ii;;iiii***
zznnxxMxz#nnnnnxnxxxxMxzxxxxxxxxxxxxxxxxxxxxxxMxxnxMMWWWWWWWWWWWWWWWWWWxxxWWWWWMMMxxMMMxxMM+;;;;;;;,;:i+#zzzzzx+x;;+#+i::;;;;;;;;;;;;;iiiiiiiii**
nnnnnnnnz#nnnnnxnxxxxMn#xxxxxxxxxxxxxxxxxxxxxxMxxnxMWWWW@WWWMWMMMMWMW@@MMxMMWWWWWWxxxMxMMMM+i*i;::;:ii++##zzz#x+ni;,++i::;iiii;;i;;;;;;;;;i;iiiii
nnnxnxxxzzznxnnxnxxxxMnnMMMMxxxxxxxxxxxxxxxxxxMxxxMMWWWWWWWMMMMxMxMxMMWWMMMMxxMMWMxxxMxMMMM+;;:;;iii**+####zz#x+ni;,#*i,,;;;ii;;i;iii;;;;;;;;iiii
nnnnnnnxzzznnnxxnxnxxMxxMMMMMWMMMMMMxxxxxxxxxxMxxxMMWWWMMMMMxxxnnxxxMMMWMWWMMMMxMxxxxMxxxMx*;;**i;ii+##zz#####x+ni;:#**,,;;;;i;;;;;;i;iiiiii;i;;;
MMxxxnnxz#znnxnxxxxxxMxxxxxxxxxxMMMMWWMMMMMxxxMxxnMWWMMxxMMxnnxxMxxxxMMMMWWWWMxxMnnxxMxxxMx#+:;;;i*+#######++zn+z*;;#*;,,:;;;i;;;;;;i;iiiiiiiiiii
nxxxMMMMz#znxnxxxxxxxMnzMMMxxxxxxxxxxxxxMMMWWWMxMMMWMMxnnnxnnnnxxnnnznxMMMWWMxMMx#nxxMxxxxn+;:;;+#+######zz++zn*z*i:+*;..::;;;;;;:;;;;iiiiiiiiiii
znnnnnnnzznnnxxxxxxxxMnzxMxxxxxMMMxxxxxxnxxxxMxxnxxxxxnxnnxxnnzz########nMWWMxWMx#nxxMxxxxx*i##*######z##zz+##n*z*i:+*;..::;;;;;;;;;i;iiiiiiii;;i
nxxxnnnnzznnnnxxxxxxxMnnMMMMMxxxxxMxnxxMxxxxxxnnxnz######z####++++*++++++zMWMMMxxznxxMnnnxnzzzzz##zz#zz##+####n*z*i;+*;.,::;;;;;;;;;i;iiiiiiii;;i
xxxxxnnxzznxnnxxxxnxxMxMMMMWWWMMMMMnnxxxxxxxxxnxxn*ii;;;;iiiiiiiii***++++#zMWMMxMxxxxMnnnxxnnnnnzzzz##+#z+#z##niz*;;+i;,,,:;;;;;i;;ii;iiiiiiii;;i
nnxxxxnxzznxnnxxxxxxxMxxxxxxxxMMMMMxxMMMMMMMxxMxn*;;;:::::;;;;;ii**++++++#znMMMMMMxxxMnnnxnnnnnnzzzzz#+zz++++#niziiz+i:,,:::::;;;;iii;iiiiiiii;ii
nxnnxxnxnznxxxxxxxxxxMxxMMMxxxxxxxxxxxxxxMMWMMMn*;;;::::::;;;;;i**++++++##zznMWWMMxxxMnnnxnnnnnznn#zz##+###+#zzizii#+i:,:;;;;;;;;;;;;;;iiiiiiiii*
nxnnnxxxnznxxxxMxxxxxMxnMMMMMMMMMxxMxxxxxxxxnxx#;;;::::::::;;iii*+++++++##zzzxMWMMxxxxnnxxxnnnnznn#z###+#z#+##z;#i;#*;:,:;:;;;;;iii;;;;;;;;;iii**
nxxnxxxxnnnxxxxMxxnxxMxnMMMMxxMMMMMMMMMMMMMxnxni;;::::::;;;;iii**+++++##zzzzzxMWWMxxnxznnxnzznnzzzzz+zz####+++z:#i;#*;,::;::;;;;iiiii;iii;;i;;iii
nnxxMxnxnnxxxxxMxxxxxMxnMMxxxxMxxMMMMMMMMMMxxn+i;;:::;;;;;;ii***+++#####zzzznxMMMMMnzxznnxnzzznnzznz+##+#+#####:#i;#*:,::;::;iiiiiiii;iiiiiiiiiii
xxxxxxnxnnxxxxxMxxxxxMxnMMxxxxxxxxxxxxxMxxMxxniii;;:;;;;iiiii***++#####znnzznxMMxxMnzxznnxnnnznnzz#z##+##+#####:+i;#i:.:;;::;;iiiii*i;i;;;iii****
MWMMMMMxnnxxxxxMxxxxxMxxMMxxxxxxxxxxxxxxxMxxx#iiiiiii;;;;i;iii***+#####znnnnnxMMxnxx#nnnnxnnnzzzzn#nn####+#++##:+i:*i:.:;;;;;iiiiii*iii;;;iii****
nxxxxxMxnnxxxxxMxxxxxMxxMMMMxxMMMxxxxMxMMMxxx*iiiiii;;;;;;;;ii***++####zznnnnxMMx#nxzznnnxnzzznznx#zz##+###+#z#:#*:i*:.:;i;;;iiiiiiiiii;;;iii****
xnnnnnnnnnxxxxxMxxxxxMxxMMMMMMMMMMMMMMMMxxMMniiiiii;;;;;;;;;;i***+++++##znnnxxMMxznnz+znnxnzznnzzz#########+###;#*;i*:,;iiiiiiii***iiiii;;iii****
xxxxxxxxnnxxxxxMxxxxxMMMMMWWWWWMMMMMMMMMMMMM#iiiii;;;;;;;;;ii**++++++++#znnnnxMxxxnzn+#nxxnzzznnznxn#zz##+#+##zi#*;**;,;;iiiiiii*****iiiiiiii****
xxxxxxxxnnxxxxxMxxxxxWMxMxxxxxxxMMMMMWWWWMMM+*iiiiii;;;;;i**++######++##znnnnnxxxnxnn*znnxnnnznxzznz#####+#z##z*z*i**;,;;;;;;iiiiiii*iiii**ii****
MMMMxxxMnnxxxxxMxxxxxWxMMMMxxxxxxxxxxxxxxxMx**iiiiiii**i**++#znxxxxnnzzzznnnnnzxxnMxx#zxxxnnnznnzz#zn##zz+####z*z+i**;,;iiiiiiiiiiiiiiiiiiii*****
xMMMMMWxnxxxxxxMxxxxMWxxMxxxMxMMMMxxxMxxxxMx**iiii***+++*+#zzxMMWWWMxxxxxnxnnnzzxxWxxnnxxxxznzzzxx#nn######+#zn+z+i**i:ii*****ii**iiiiiiii;iiii**
xxxxxxxnnnxxxxxMxxxxxWxMMMMxMxMxMMMxxMMMMMMn+*ii*+####+++#znnMMxMMxxMMMWMMnn++##xMWMMxnxxxxzznnznn########z##zz+z+***i:ii*****i**iii*i****iiiiiii
xxxxxxxxnnxxxxxMxxxxMWMWWWWWWWMMMWMxxMMMxMMx+*i*#znnnnzzzzxxxnnMWWMMxMMMWMMMM##++xMMMMnxxMxzznnnzznz#zz##z#+#zn+z+*#+i:ii*****i*iiii*i*****ii****
xxxxxxxxnnxxxxxMxxxxMWMMxxxxxMxxMMxxMMMWWWMn+*+zxMMMxxxnzzxxMMWWWWMxMMMMMMMMxx#*#xx+nMxnxMxnnznxznxn#####+###zn+z++z+i;ii*****i*iiiiii*****i*iii*
nnxxxxxMnxxxxxxMxxxxMWxMMMMMxxxxxxxxxxxxxxMx++znnzzzzxMxz+zxWWWWWWWMMzMnnxMMMxn+*nxWWMMxnMxnzznnzzzzz####+#zzzn#z++z+i;i******i*iiiiii*****i*iii*
nnnxxxxxnnxxxxxMxxxxMWxxMxxxMMMMMMMMMMMxxxMx#nxnzznMWWMM#+zxWW@@@WWxx#MzzxMMMxn#*#nMWMWMxMxzzznznn#nnz#z#####zn#z++z+*;i******i*iiii*i*****i*iii*
nxxxxxxMnnxxxxxMxxxxMWxxMxxxxxxxxxxxMxMxxMMMxxnz#znMWWWWz+#xWW@@@WWWWWWWWWMMMxnz*+zxMMMMxxxznnnnxx#nz########nn#n++z+*;i*********ii**i*****i*iii*
xxxxxxxMnxxxxxxMxxxxMWMxMxxxxxxxxxxxxxxxxxxMnxnnMMW@@WWWzi+xW@WWWMMMMMWWMMMxxxn#+*znMMxMMxMzznnzzzzz#zz##zz#znnzn+#z+*iii************i*****i*iii*
xxxxxxxMxxxxxxxMxxxxMWMMMxxxxxxxxxxxxxxxxxMMnxxMWW@@@WW@#i*zWWWWMxMMMMMMxxMnxxn#+*#nMMMMMnxznnnnznxnzzz######zxzn+#z+*iiiiiiiiii*****i*****i*****
xxxxxxxxxxxxxxxMxxxxMWMMMxxxxxxxxxxxxxxxxxMMxnxWWMMMWMMM*i+zMWWxxxxxxnnnxMnxxxn##**zWWMxMxMnnnxxznnnz######zznxzn+#z+*ii*****iiiiiiiiiiiiiii*****
WWWWMMMMxxxxxxxMxxxxMWMMMxxxxxxxxxxxxxxxxxMMxxxxnnxxxxxnii+zxMWxn##znnxxnnnxxxn##+*#WWMxxxMnnnnnnnznnzzzz#zzznnzn+#z+*ii*************i**iiiiiii*i
xxxMMMMMxxxxxxxMxxxxMWMMMxxxxxxxxxxxxMxxxxMMxz#znzxxxzx#ii+#nxMMxnnnznnnxxxxxxz#z#**MWMxxxMnnnnnxxzxnz#zz####nnzn+#z+*ii**ii*********i***********
xxxxxxxxxxxxxxxMxxxxMWMWWWWWWWWWMMMMMMMMMMMMn####*zz#nn*ii+#nxMMxnnnnxxxxMMxxxn#zz++MWMxxMMnnnnnnnzzzzz#zzz#znnzn##z+***+*ii****+******iii**+++++
MMMMMMMMxxxxxxxMxxxxMWMMMxxxxxxxxxMMMMMWMWWWn###++#zzzz*ii#zxxxWMxxnnnnxxxMMxMn#zn#+MMMMnMMnnnnnznnzzzzzzzz#znnnn##z+*****iii**+++++***ii***+++++
MMMMMMMMWMxxxxxMxxxxMWMMxxxxxxxxxxxxxxxxxxxxz#zzzz#znxz*i*#nnnznMMxnzznnxxMMMxn#nnz+MxxMxMxnnnnxznxzzzzzz####nnnn+#z+*****ii***+++++***iii**+++++
MMMMMMMMMMxxxxxMxxxMMMMMMMMMMMMMMMMMMMMMxxxxn##zzzz#zx+*+#zxxxxxWWMnnnnxxMMMMxn#nxz#nxnnnMMnnnnnnnzzzzzzz#zzznxnn+##*********+*+++++****i***+++++
MMMMMMMMMMxxxxxMMxMMMMMMMMMMMMMMMMMMMMMWWMWWM###+++#nx+#znMMWWWMWWWxxxxMMMMMMMn#znnzxnxnzMMnnnnnxnzxnzzzzzzzznxnn+##****++**++*+++++******+*+++++
MMMMMMMMMMxxxxxWxxxMMMMMxxxxxxxxxxxxMxMMMMMMMz#+++#nMMnxMMWW@@@WWWWMMMMMMMMMMMxzzxnzMMxxnMMnnnnnxnznnzzzzzz#znxnn+##****++++++*++++++*++*++*+++++
MMMMMMMMMMxxxxMWMMMMMMMxxxxxxxxxxMMMMxxMMxMMMn####zxWWxWWWWW@@@WWWWMWWWWMMMMMMxnznnzMWMxMMMnnnnnnnnnzzzzzzzzzxxxn+z#*****i********+***+++++*+++++
@@@@@@@WWWWWMMWWMMMMMMMxxxxxxxxxMxMMMMMMMMMMMxz#zzxMWWnxWWWWWW@@WWWWMWWWWMMMMMMnznnznxMMMMMxxnxxnxxnznzzzzzzzxxnn+##****++***********************
MMMMWWWW@@@@@@@@@@@@@@@@WWWWWWWWWMMMMMMMMMWWMMzzznxMWMnzMWW@W@@@@WWWMWWWWMMMMMMnzxnzzxMW@@@WMxnxnnxnnzzzzzzzzxxnn+##****++++++*+++++**+++++*++***
nnxxnxxxMxMMMW@@@@@WWWWWWWW@@W@@@@@@@@@@@@@@@@znnxMWWxnnxW@@@@@@@@@WWWWMMMMMMMMnznnz#xW@@@@WWMxznnnxnzznzznnzxxxn+#+i***++++++*+++*++++++++*+++++
nnnnnnnxxxxxxM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@nnxMMWMxnxMWW@@@@@@@@@@@WMMMMMMMMxznnn#@@@@@@@WMMxnxnxnzznnzznzxxxn+#+ii**++++++*++**++++++++++**++
nnnnnnnnxxxxxx@#####################@@@@@@@@@@xznMMMxMMMWWWWWWW@@@@W@WWMMMWWWMMxnnnnn@###@@@@WWMnnnnnznznzzzzxxxn*#+;ii*+++++++++**++++++++++**++
nnnnnnnnxxxxxM@#############@##########@#####@@znxMxMMWWWWWWW@@@@@@@@WWMMMWWWMMxnxxMM@##@@@@@@@Mxnxnnnnznnnzzxxxz*#*;;i*+++++++++**++++++++++**++
xxxxxxxxMxxxxx@##########################@##@#@xnnxxMWWWWWWWMMWWW@WWWWWMMWWWWMMxnxMWW@#@@@@@@@@@xnxnnnnnnnnzzxxxz*#i:;i*+++++++++*+++++++++++*+++
WWxMnWWWWMxxxM@########@#################@##@#@MnnnxMWW@WMxnxxMWWWWWWWWMMMWWWMMxxMWWW@@@@@@WW@@@Wnnnnnnnnzznzxnxz*#i::;*+++++++++++++++++++++++++
Mn++iMW@MMxxxM@###@W@@@@#@#@########@#@#@@#@@@@@nnnnxMMnzznnnxMMMMMMMMMWMWWWWWMxMWWWW@@@@@@@WWW@WWnxnznnnnnnnxnxz*#;,:;*++++++++++++++++#++++#+#+
ni+zM@WWMMxxMxWMM@nnxzi#MW@@@###@#@#@@@@@@##@@@@Mxnxxxz###znMMMMMMMMMMMWWWWWWMMMWWWWW@@@@@@WWWMMMxxnnznnnznnnxnxz*#;,:;*******+++++++++++++++++++
@WWM@@@WxMxxMMWxM@#xMxzxMMMMMW@@@##@#######@@@##@xxMxn###zznxMMMMMMWWWMMWWWWWWWW@WWW@@@@@@@@@@@@@WWMxnnznxxMMMnx#*z;::;*+++++++++++++++++++++++++
@@@M@@@WMMMMMMWnxxnMxWMMWMMMMxMMW@@#####@##@@@@@#WxMMnz#zznnMWWWWWMWMWWWWWWWWWWW@WW@@@@@@@@@@@@WWWMMMMMWWW@@@@WWz*#;::i*+++++++#####++#+++++####+
@@@@@@@WMMMMMMWxxxxMxWWMMMMWWxnMMMW##@@@###@@@@WWWMMMxzzznxxWWWWWMMMMMWWWWWWWWW@@WW@@@@@@@@@@@@@WMMMWWW@@@@@@WWM#+z;:;i++++++++#####++++++++####+
@@@@@@@WMMMMMMWxxMMxxWWWn#xnnxxWWWM#@@@@@#####@MMM@MMxzzznxMMWWWMMMxMMWWWWWWWWW@@W@@@@@@@@@@@@WMMMW@@@@@WMMMMMWW#+zi:;*++*+++++#####+#++++++#####
@@@@@@@WMMMx#*+nnWMxnxMMn+z##nnnWWM@@@@@@####@@MMMW@MxzzzznxxxxxxxxxMMWWWWWWWW@@@@@@@@@@@@@@WWMWW@WW@WWWMMMMMMMxz#z*;i*++++++++#####+#+++++######
@@@@@@@WMMM#++#znxMMxMMMn+zznnzzMWM#@@@@@@####@MMMW@Wxnzz##zzznnnnxMMMWWWWWWW@@@@@@@@@@@@@@WWMMW@W@WWMMMMMMMMWMMMxn+ii++++++++######+#+++########
@@@@@#@WMMM#*+#nxMnxznMMn+znxxnzMWM##@@@@@##@@@WMMM@@Wxzzz##zznnnxMMWWWWWWWW@@@@@@@@@@@@@WWWMW@W@@MMMMMWWWWWWWWWWMMxz+++++++++#z####+#+++########
@@@@##@WMMx*i+zMMMnzzMWMx+znxxznxMM@xW@@@@@#@@@@WWW@@@MxnzzznxxxxMMWWWWWWW@@@@@@@@@@@@@@WWWWW@W@WMMMMMMMMWWWWWWWWWWWMxz###+#########+############
@@@###@WMWx++xMWWWxzzMWMn+znxxznMxM@MW@@@@@@@@@@@WWWWM@MxxnxxWWMMWWWWWW@@@@@@@@@@@@@@@@WWWW@WWWMMMMMMMWWWWWWWWWWWWWWWWMxz###########+############
#@#####WMWMnMWWWWWWxnzxxz*nxxxnxMMM@W@##@@@##@@@WWWxWWMWWMMMMWWWWWWW@@@@@@@@@@@@W@@@@@WWW@@W@WWMMMMWWWWWWWWWWWW@WWWWWWWMxz++++++++++++++++++++++#
#@#####WMWnnW@WWWWWWWxnxxnxnznxMMMnWxW@@@@@@@@@@WWWWMWM@WWWWWWWWWWW@@@@@@@@@@@@@@@@@@WWW@@@@WWWMWWWWWWWWWWWWWWW@W@@WWWWWWMz####################z#
#@#####WMn++nWM@@W@@@WWWWMMxxMxWWWzWMM@@@@@@@@@@@@@WWWM@@@WWWWWWWWW@@@@@@@@@@@@@@@@@WWW@@@@WWMWWW@@@@WWWWWWWWW@@@@@@@@WWWWMn###z######zzz#######+
@@@@WWWWM#++zW@@#######@@@#######WzxMM@@@@WMxxxxxxxnnxnxxxMWW@W@WW@@@@@@@@@@@@@WWWWWWW@@@@WWWWW@@@@WWWWWWWWWWW@@@@@@@@@WWWWMz#zz###z#zzzzz######i
WWW@@@@WM#**#x@@##@#####@########Wxz#zxWMxxnnnnnxMMMMMMMMMWWW@@@W@@@@@@@@@@#@@WWWWWW@@@##WWWW@@@@@WWWWWWWWWWWW@W@@@@@@W@WWWWMzzz###z#zzzzz#####*i
@@###@WMMz++#zx@@#M####@@#######@@MxnxMMMMMMMMMMMMMMMMMMMWWWW@@@@@@@@@@@@@@@@@@WWWW@@@#@WWWW@@@@@WWWWWWWWWWWWW@W@@@W@@@@@WWWWxzz###zzzzzzz#++###*
@@@#W#*+n#####zM@@#####@@########@WMMWMMMMMMMMMMMMMMMMMWWWWWWWW@W@@@@@@@@@@@@@@WW@@@@##WWW@@@@@@WWWWWWWWWWWWW@@W@@W@@@@@@WWWWWnz##zz#z##zz+i*##+*
@@@@#++*+nnz+*#z@@@##############@@WWWMMMMMMMMMMMMMMMMWWWWWWWWWWW@@@@@@@@@@@@@WW@@@###@WWW@@#@@WWMWWWWWWWWW@@@@@W@W@W@@W@WWWWWMnzzzz#*i;iiii;*+**
@@@Wz#+**#xz+i*#M###############@@@@@MMMMMMMMMMMMMMMMWWWWMMW@@WWWWWW@W@@@@@@@@@@@####@WWW@@#@@WWWWMMMW@@WWWWWWW@@@@@@@WW@@WWWWWxzzzz#ii;i;:;++#**
@@@@nz#*i*zn#++zW##############@@@@@WMMMMMMMWMMMWWWMMWWWWMWWWW@WWWWWWW@@@@@@@@@@#####WWW@@##@WWWWMMW@WWWWWW@@@@@@@@@@@@@@W@@WWWMnzzz+ii;ii;*+##++
@@@@Wn##+*+nz#zM@@############@@@@WWWWWWWWWWWWWWW@WMWWWWMWWWW@@WWWWWWW@@@@@@@@######WWWW@##@WWWWWWWWWMWW@WWW@@@@@W@W@@@WWWW@WWWWMz##+i;;;;;zznz**
@@@@@Mnz#+#zxxW@@############@@W@@@@@@@@@@@@@@@@@WMWWWWWWW@WW@@@WWW@@@@@@@@@#######@WWW@@#@WWWWW@WWWWW@@@WW@@WWW@W@@@@@@@@@@@WWWWxxzz#*;;:;nMMz++
@@@@xznxzzzzxM@@@############@W@@@@@@@@@@@@@@@@@WWWWWWWWMW@WWW@@@W@@@@@@@#@#######@WWWW@##WW@W@WMWWWWW@@@WW@@WW@@@@@@@@@@WW@@@WWWMMxMWM#####+#+#+
@@@x++nWMxxxznW@@@#@@######@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWW@@@W@@##@@#@########WWWW@#@WWW@@WMMWW@W@@@@WW@@W@@W@@@@@@@@@@W@@@@WWMMMWMz**+#+++##
W@Wz###nWWMMnnxW@@@@@@#@##@@@@@@@W@WWWWW@@@@@@@WWWWWWWWWWWWWWW@@@@@###@#@@#######@WWW@@#@WW@@WWWWW@@W@@@WWW@WWW@W@@@@@@@@@@@WWWWWWMMMMxn+*++n+++#
WWWxnz#znWWWMMMW@@W@@@##@@WWW@@WWWWW@@@@@@@@@@WWWWWWWWWWWWW@WW@@@@###@@@@########W@WW@#@WW@@WWWWW@@@@@@@WWW@WWW@@@@@@@@@@@@@@@@WWWMMWWM@Wz##Mz++n
@@@@MxnnxM@WWMWW@@@W@@@@WWWWWW@WWWWW@@WWWWWWWWWWWWWWWWWWWWWWWW@@@@@##@@@@#######@W@W@@@WW@@WWW@W@@@@WWWWWW@@WW@W@@@@@@@@@@@#@@WWWWWMWWW@@@WW@Wnz#
@@@@@WMMMW@WWWW@@@@WWWWWWWW@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@#######@W@@@@@WW@@WWW@@W@@@@WWWWWW@WW@@W@@@@@@@@@@@@@@WWWWWMWWW@@@@@@@@@@
@@@@@@@WWW@@WW@@@@@WWWW@WWWW@@@WWWWWWWWWWW@WWWWWWMMWWWWWWWWW@@@@@W@@@@@########@@@W@@@W@WWW@@@@@@@@WWWWWW@@WW@@@@@@@@@@@@@@@@@@WWWWMMW@@@@@@@@@@@
@@@@@@@WWWW@@@@@@@@WWWWWWW@@@@WWWWWWWWWWWWWWWWWWWMMMW@@WWWW@@@@#WMMW@@########@W@@W@@@WWWW@@@@@@@WWMWWWWWW@WW@W@@@@@@@@@@@@@@@@@WWWWMW@@@@@@@@@@@
@@@@@@@WWWWWW@@@W@@WWWWWWWW@@@WWWWWWWWWWW@WMWWWWWMWMW@WWWWW@@@@#WMW@@@#######@@@@@@@@WWWW@@@@@@WWWWWWWWWW@WW@@@@@@@@@@@@@@@@@@@@WWWWMW@@@W@@@@@@@
@@@@@#@WWWWWW@@@@@WWWWWWW@@@@@@WWWWWWWWWWWWW@WWWWMWWWWWWWWW@@@@@MW@@########@@W@@W@@@WWW@@@@@@@WWWWWWWWWW@W@@@@@@@@@@@@@@@@@@@@#@WWWWW@@WWWMMMWWW
@@@@@#@WWWWWWW@W@@WWWWW@@@@@@@@WWWWW@WWWWWW@@WWWWW@WWWWMWWW@@@##W@@########@@WW@@W@#@WWW@@@@@WWWW@MWWWWW@@@@@@@@@@@@@@@@@@@@@@@@#@WWWM@@WMWWWWWWW
@@@@@#@WWWWWWWWWWWWWWW@@@@@@@@@WWWWWWWWWWW@@WWWWMWWWWWWMWWW@@##@#@@#####@#@@WW@@@W@#WWW@@#@@WWMWW@MWWWWW@W@@@@@@@@@@@@@@@@@@@@@@@@WWWM@@xzznxxMMW
@@@@@@@WWWWWWWWWWWWWMW@@@@@@@@#WWWWWWWWWWW@@WWWWWWWWWWWMW@@@@###@@######@@@WMW@@@@@@WW@@@@@WWWMWW@WWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@#@WWWW@nzzzzzzzM
WWWW@@@WWWWWW@@@WWWWM@@@@@@@@##WWWWWWWWMWW@@W@@WWWWWWWWMW@@@@#@@@#####@@@@@WWW@#W@@@W@@@#@WWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@zzzzzzzxW
@@W@@#@WWWWWW@#@@MxMxW@@@@@@###WWWWWWWMWWW@@W@@WWWWWW@MMW@@@@@W#######@@@@WWW@@#@@#WW@@@@@WWWWWW@WWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWz#zzzznWW
WWWW@#@WWWWWW@@WWWMMMW@@@@@####WWWWWWWWWWW@@W@WW@WWWWWMWW@@@#@@#####@@@@WWWMW@@@@@@W@@@@@WWWWWWW@WWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWMzzzznxWMM
WWWW@#@WWWMWWWWWMxxzxM@@@@#####WWWWWWWWWWW@@W@WMWWWWWWMWWW@@@@######@@WWWWWWW@@@@@WW@@@@WWWW@WWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMnnxMWWWMM
WWWW@@@WWWWWMxnxMMMxnMWWW@#@###WWWWWWWWWWW@@@@WMMW@WWMMW@@@#@@#####@W@WWMWMWW@#@@@W@@@@WWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWMW
WWWMWW@WWWWWWWWWWWMMMMMMMMM@###WWWWW@WWW@WW@@@@WW@@WWMWW@@@@@######@W@WWWMMMW@@@@@W@@@@WWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWM
WWWMW@@WWWWWWW@@@@@@WWMMMMM@###WWWWWWWW@@@@@@@@@@@W@WMWMWW@@@##@#@@@WWWW@@WW@@#@@@@@@@WWWWWWMWWMWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@WWWWWWWWWW
@WWW@@@WWWWWWW@#@##############@WWWWWWW@@@@@@@@@@@@@WWWWWW@@@##@@@@WWW@WWMWW@@@@@W@@@WWWWWWWWWWMWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@WWWWWWWWWW
@WWW@@@WWWWWWW@@###############@WWWWWWWWW@@@@@@@@@@@WWW@WW@@@#@@@@@WWWWWWWWM@@#@@@@@WWWWWWWWWWWWWWWW@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@##@@@WWWWWWWWWW
WWWM@@@WWWWWWW@@###############@WWWWWWWWW@@@@@@@@@@@W@@@@@@@@#@@@@@WW@WMWWWM@@@@@@@@WWWWWWWWW@WWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@WWWWWWWWWW
WWWW@@@WWWWWW@@@###############@WWWWWWWWW@@@@@@@@@@@@@@@@@@@@#@@@@@WW@WWWMMW@@@@@@@WWWWWWWWWW@WWWWW@@@@#@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@WWWWWWWWW
@WWW@@@WWWWWW@@@@##############@WWWW@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@WW@WWWMW@@@@@@WWWWWWWWW@@@WWWW@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@WWWWWWWWW
@@WW@@@WWWWWW@W@@@@########@####WW@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@W@WWWWW@@#@@@@WWWWWWW@W@@@WWW@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@WWWWWWWWWW
@@@@@@@WWWWWW@@@@@##############@@@@@@@@@@@@@@@@@@@@@@WWW@@@@@@@@@@@@WWWWWW@@#@@@WWWWWWWW@W@@WWWW@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@WWWWWWWW
WWWWWWWWWWWWW@W@@##@############@@WW@@@@@@@@@@@@@@@@@WWWW@@##@@@@@@@@W@WWWW@@#@@@WWWWW@W@@W@WWWW@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@WWWWWWWW
MMMMMMWW@WWWW@W@@@##############@@@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@@@@W@WWW@@@#@@@WWWWW@@WWWWWWWW@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@WWWWWWWW
WWW@@@@WWWWWW@W@@@##@############@@@@@@@@@@@@@@@@@@@@@WW@@@@@@@@@W@@@@WWWW@@@#@@WWWWW@@@WWWWWWMW@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@###@@#@@@@@WWWWWWW
@WWWWWWWWWWWW@W@@@##################@@@@@@@@@@@@@@@@@@W@@@@@@@@@WWWW@@WWMW@@@#@@WWWWWW@WWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@@@@@@WWWWWWW
WWWWWWWWWWWWW@W@@@###@###############@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWMW@@@@@@WWWWWWWWWWWW@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW
WWWWWWWWWWWWW@W@@@@#################@#@@@@@@@@@@@@@@@@@@@@@@@@@@W@@WWWWMWWW@@@@WWWWWWWWWMW@@@W@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@@@WWWWWW
WWWWWWW@@@@@@@W@@@###################@##@@@@##@@@@@@@@WW@@@@@@@@WW@WWWMWW@@@@@@WWWWWWWWWW@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@WWWWMW
WW@@@######@WWW@@@#######################@@@@#@@@@@@@@@@@@@@@@@@WWWWWWWWM@@@@@@WWWWWWWWW@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@WWWWMM
@WW@@######WWWW@@@#########################@@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@@@@@@WWWWWW@WW@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@WWWWWM
WMnxW@@@@@@WMMW@@@############################@@@@@@@@@@@@@@@@@@@WWWWWWWW@@@@@WWWWWW@@W@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@###@@@@@@@@WMMMMM
znzznxnznnnzz#n@@@##############################@@@@@@@@@@@@@@@WWWWWWW@MW@@@@@WWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@WMMMMM
#zzzznnnzzz##+z@@@@@############################@@@@@@@@@@@@@@@WWWWWWWWMW@@@@@WWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@@@@@@##@#######@###@@WWMMMW
#zzzznnzz#z#++z@@@@@#############################@@@@@@@@@@@@@@@@WWWWWWWW@@@@@W@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@@########@@@@@@@@WWMMW
zzzzzzzzz#z#+##W@@@@@############################@@@@@@@@@@@@@@@@@@@WMWW@@@@W@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#######@@@@@@@@WWMMW
###zz##zzzzz###W@@@@@#@#################@########@@@@@@@@@@@@@@@@@@@WWWW@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@######@@@@@@@@@@WWMMW
#zz#z#zzznnnzzzM@@@@@#@###########################@@@@@@@@@@@@@W@WWWWWW@@@W@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##@#@@@@@@@@@@WMWW
nnnzzzzzznxnnnnM@@@@#############################@@@@@@@@@@@@@@@@WWWMWWM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@@@@@@@####@@@@@@@#@@@@@WWWW
nnzznnnnnxxxxxxxW@@@@#@############################@@@@@@@@@@@@@@WWWWWWWW@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@@@@##@#####@########@######@@@@@WWWW
xxxxxxxxxxxxxxxxW@@@################################@@@@@@@@@@@@W@WWWWW@W@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@@###@##@@##############@#####@@@@@WWWW
xxxxxxxxxnxxxxxxx@@@##############################@##@@@@@@@@@@@WWWWWWW@W@@@@@@@@@W@@@W@@@@@@@@@@@@@@@@@@@@@@@@@###############@#########@@@@WWWW
xxxxxxxxxxxxxxxxxW@@#############################@@##@@@@@@@@@@@WWWWW@WWW@@@@@@@@@W@WW@@@@@@@@@@@@@@@@@@@@@@@@@##########@###############@@@@@WWW
xxxxxxxxxxxxxxxxxM@@@##########################@WM@#@#@##@@@@@@@WWWWW@@@WWWWWWWWWWWW@W@@@@@@@@@@@@@@@@@@@@@@@@###########################@@@@@WWW
xxxMMxxxxxxxxnxnxx@@@@@#######################@@@@@@##@@###@@@@@WWWWW@WWWWWWW@W@@WW@@W@@@@@@@@@@@@@@@@@@@@@@@@#@#@@########@@#############@@@@WWM
xxW@@WxxxxxxxxxxnnW@@@######################@@@@@@@@@##@######@WWWWWW@@WWWWWWWW@WWW@W@@@@@@@@@@@@@@@@@@@@@@@@@@##@#############@########@@@@@@MxM
xxMW@@WxxxxxxnxxnxM@@@@####################@@WWWWWW@@@@@######@WWWWWW@@WWWWW@W@@W@WW@@@@@@@@@@@@@@@@@@@@@@@##@@############################@@@Mxx
xxMWW@@WMxxxxxxxxxx@@@@##################@@@@@WWWWW@@@@########@@WWMWW@@@WW@WWWWWWWW@@@@@@@@W@@@@@@@@@@@@@@@@######@######@################@@@Wxx
xxxWWWWWWWxxxxxxxxxW@@@################@@@WWWWW@WWWW@############@@WWW@@WWW@WW@W@@W@@@@@@@@@W@@@@@@@@@@#@#@#@#@##############@#######@#####@@@@@W
xxxxWWnWW@MxxxxxxxxM@@###############@@@WW@WW@WWWWWW@@############@@@@@@WW@WWWWW@@W@@@@@@@@@@@@@@@@@@@@@#@@###@#@##########################@@@@@@
xxxxxWW@W@MxxxxxMMMMW@#########@@@@@@WWWWWWWWWWWWWWWW@############@@@@@WWWWWW@W@@W@@@@@@@@@@@@@@@@@@@@@@@@@#####@################@#########@@@@MW
xxxxxMWWWWMxxxxxMMMMMW@@########@@W@@@@WWWWWWWWWWWW@@@@@@#########@@@@@WWWWW@WW@@W@@@@@@@@@@@@@@@@@@@@@@#####@###@###################@####@@@@@WW
xxxxxxxMxxxxMxxxMMMMMWWW@@#######@@W@W@WWWWWWWWWW@@@@@@@@@@#######@@@@WWW@WW@W@@W@@@@@@@@@@@@@@@@@@@@@@#@@@@@########################@@@###@@@@WW
xxxxxxxxxxxMMMMxMMMMMMWWW@@@@@@#@@@W@WW@WWWWWWWW@@@@@@@@@@@@@#####@@@WWWW@W@W@@@W@@@@@@@@W@@@@@@@@@@@###@@#@@###############################@@@WW
xxxxxxxxxxxMxMMMMMMMMMMWWWWW@@@@@@WWW@W@WWWWWWW@@@@@@@@@@@@@@@####@@WWWWW@@@W@@W@@@@@@@@@@@@@@@@@@@@@#######@#############################@#@@@WW
xxxxxxxxxxxxxMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@WWWW@@@W@@@W@@@@@@@@@@@@@@@@@@@@@@@@####@###############################@@@nz
xxxMxxxxxMMxMxxMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWW@@@@@@@@@@@W@@@@@@@@@WW@@W@@@W@@W@@@@@@@@@@@@@@@@@@@@@#@###############@#######################@@n#
xxxxMxMMMWMMxxxxMMMMMMMMMMMMMWWWWWWWWWWW@WWWW@@@@@@@@@@W@@@@WW@W@@@WW@WWW@@W@@W@@@@@@@@@@@@@@@@@@@@##@@#########@##################@#########@@x#
MMMMMWWWMMxxxxxxxMMMMMMMMMMMMWWWWWWWWWWW@@W@@@@@@@@@@@@@@@@@WW@W@@WW@@@WW@@@@W@@@@@@@@@@@@@@@@@@@@@@@@@#@####################################@@x#
WWWWMMxxxxxxxxxxxMMMMMMMMMMMWWWWMWWWWWWWWW@W@@@@@@@@WW@@@@WWW@WWWW@@WWWWW@W@@W@@@@@@@@@@@@@@@@@@@@@@#@@#######################################@x#
WWMxxxxxxxxxMxxxMWWMMMMMMMMMMWWWWMWWWWWWWWWW@@@@@@@@@WW@@WWWWWW@@WWWWW@W@W@@W@@@@@@@@@@@@@@@@@@@@#@@@@#######@#####@########################@#@x#
MMMxxxxxxxMMWW@@@@WWMMMMMMMMMWWMMMWWWWWWWWWW@@@@@@W@@@WWWWWWW@@@WWWWWWW@WW@@@@@@@@@@@@@@@@@@@@@@@@@@#########@##@#@@###################@######@x#
xMMxMMMWW@@@@@WWMMMMMMMMMMMMMMMMMWWWWWWWWWWW@@@@@@@W@@WWWWWWWWW@WWWWWWWWWW@W@@@@@@@@@@@@@@@@@@@@#@@###############@@################@#######@@@M#
MWWW@@@@WWMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWW@@@WW@W@@@WWWWWWW@@W@W@WWWWWWW@@@@@@@@@@@@@@@@@@#@#@@##################################@#######@@@M#
@@@WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWW@WW@@WW@WWWMWWW@@@@@WW@@W@@@@@@@@@@@@@@@@@@@@@@#####@##########################################@M#
MMMMMMMMMMMMMMMMMMMMMMMMxMMMMMMMMMMMWWMMMWWWWWW@WWW@WWWWWWWMWW@#@@WW@@W@WW@@@@@@@@@@@@@@@@@##@#@##############################################@W#
MMMMMMMMMMxMMMMMMMMMMMMxMMMMMMMMMMMMMMMMMxMMMMMWWWW@@WMWWW@W@@@#@@W@@@@WW@@@@@@@@@@@@@@@@@@##@################################################@W#
xMxMMMMMMMxxxxMMMMMMMMMxxMMMMMMMMMMMMMMMxxnnxMMWW@WW@WWWWW@@W@@@@@@@@@WW@@@@@@@@@@@@@@#@@#@#@@################################################@W#