WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWn#xM#xW#nx#zz#Mn#WWWMnWxxWWWWWWWWWWWWWWWMiiMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWnzzzzznW
WWWx#.WWin;in;*z++*n;zi:+MWWz*##+MWWWWWWWWWWWWWWx**xWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWz,```,*M
W*;;;`WWi+i;M;in,*+n:++#izWWn#*n;xWWWWWWWWWWWWWWi  iWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWz,...:*M
W####*nMzMzx*zM*+z*##Wz#*MWWx+M##MWWWWWWWWWWWWWWi  iWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWnzzzzznW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#+#+##+#+##+#+##+#+##+#+##+++++++#########+++#######################################################
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
**********************************************************+**+*************+*****++***+**++++++++*+*
*****;*;:::;**ii**************************i;**************;*ii*************;***++ii***+*+*+**+;*++++
*****;*.:ii:`*::**************************i;**************`*ii**+++*++++++i.+++++,;+++++++++++.*++++
*****i*.;***.i:;i;***+i;*+**+i;+**+;i+*******+i;*+****+i;+`***++i;*+++;;*+i.*;i++,;++i;*+++i;+.*++++
****i.*,i##+`i:.;;`**.;i.;*,,;;.+*.;;.*+**;,*`;i.*++++.;i,`*;,*`;i`**.ii`**`,i:,+,;+,;i.i+.:i,`*++++
**+*i.*,...`:*::++,i;,++*`*,;**`*,i++:;*++;,*`*#+*+++;,++*`*;:*`*#+***#+.i*`+++.*,;i,##*,i.+++`*++++
++++*.+,;***++:;++,i:;*++`*,i++`*..,,,;+++;,+i:.,++++;:+++`+;:+i,.,++:,:.i*.+++,i,;;.,,,,;,+++.*++++
++++*.+,;+++++:;++,i;:++*`+,i++.*,i++**+++;,**++;,+++i,+++`+;:+*++:::;++,i*`#++.*:ii,+++**.#+#`*++++
++++*.+,i+++++:;++,i+.;i.;+,i++.**.ii.*+++;,+.i*,;++++.:*,`+;:+.i*,i;,*;`;*`:*:,+:i+.;*,i+,:*,`*++++
+++++i+**+++++**++*+++i;*++*+++i+++;;+++++**++i;*++++++i;*i++*++i;*#+i;**i+**;i+#*+#+i;*###i;**+####
####################################################z##zzz#zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
####################################################zz#zz###zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
##################################################zznnzzz###zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
###############################################znxMMMMMxnzzz#zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
#############################################znxMMMMMMMMMxnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
################+####################*######*xxMMxMMnzM#*+Mnz#zzzz++zzzzzzzz#zzzzzzzzzzzzzzzzzzzzzzz
###############+:##+######++##+###+##+##+#zzznn#xxMz:+MiMMMMx#+z+####+#z#z##:#z+#z++zzzzzzzzzzzzzzzz
###############+:*,*:#;##i*;+:*:*;+:+;:ii*zx;**#*xMMz+M;*iMMx:+,+:**:*;#;z;+:#;#;+i**zzzzzzzzzzzzzzz
################:*i#;+i##+i:*:#i**i,+;;#**xx;+zxixMMz+MxM*nMx*x;z:**:zi+:z;#:#,i;#i;+zzzzzzzzzzzzzzz
################:*i#+,###:#;*:+:*:+,+;;#*+xx;*zxixxMz+M;z;xMx*x;z:**:zi+:#:#:#;#i+*+;zzzzzzzzzzzzzzz
################*++#z;###+*++++i++*++++#znxxznxxnxxxxnMx#xMMxnxnz+##+z###*+#+##*#z+*#zzzzzzzzzzzzzzz
####################;+#######*ii#######zxxxxxxxxxxxxxMMMMMMMMMxxxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
#######################################zxxxxxxxxxxxxxxxxxxxMMxxxxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
#######################################zxxxxxxxxxxxxxxxxxxMMMMxxxnzzzzzzzzzzzzzzzzzzz###zzzzzzzzzzzz
#######################################zxxxxxxxnnxxxxxxxxxxxxxxxxnz##zzzzzzzzzz##########zzz########
:::::::::::::::::::::::::::::::::::::::#MMMWMMn+++#znxxxWWWMMMMMWMiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;
.````````.```````````````..............*MMMMMn+iiii;;;*+zxnz##znWM;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
***iii.,++*******;;*+++++++++##+++++++*zMMMMMn*;;;;::;;ii****+#zMM*::::::::::::,,,,,,,,,,,,,,,,,,,,,
+++++#zzxn###+++*;;i######zzzzzz#**#nnnnMMMMxz*;;;;::;;;;iiii+#zMMnzz##+++***iii;;::::,,,,,,,,,,,,,,
###zzxMxMxnzzz###*i+zzzzznnnnnnnn++#xxxxMMMMxz*;;;;::;;iiii;i+##MWMMMMMMMMMMMMMMMMMMMMxxxnnz##++*i;:
zzznxMMMMMxnzzzzzzznnnnnnxxxxxxxxnznxxxxMWMMMzi;;;;::;;;;iii*+##xWMWWWWWWWxnMMMMMMMMMMxnMMMMMMMMMxxM
nnnnxMMWMMxnnnnnnnnnnxxxxxxxxxxxxxxxxxxxMMWWx#i;;;;;;;;;;;ii*++#MWWWWWWWWWxxMWWMWMMMMMnnxMMMMMMMMnnM
nnnxMMMWWMMxnnnnxxxxxxxxxxxxxxxxxxxxxxxnxMMM#*i;;;::::;;;;;i*++#MWWWWWWWWWWMMWWWWWWWMMxnMMMMMMMMMxnM
nnxxMMWWWMMxxxnnxxxxxxxxxxxxxxxxxxxxMMxiinMM*iii;ii:::;;;;;i*++#MWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMM
xxxxMMWWWMMxxxxxxxxxxxxxxxxxxxxxxMxMMMx+*#MM+i*++zn#*iiii;i*#xxnWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMM
xxxxMWWWWMMMxxxxxxxxxxxxxxxxxMxxxMMMMMx*i+Mxx*+znxxxx#iiii+xMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMM
xxxzzMWWMMMMxxxxxxxxxxn##xxxMMMMMMMMMMx*izM#nnzzzzzzn#*ii+nnznxMMWWWWWWWWWWWWWWWWWWWWWWWWWMWWMMMMMMM
xxx##nWMxMMMxxxxxxxxxxx##xxMMMMMMMMMMMn*i#M#iMMxnnxMMnn##xMxxxxxxWMMWWWWWWWWWWWMWWWWWWWWWWMMWMMMMMMM
xxxn#xMMMMMMxxxxxxxxxxMzzMMMMMMMMMMMMMx#iix#iinzznxnz*nzzWMMMMxnnWMxWWWWWWWWWWMxMWWWWWWWWWxnMMMMMMMM
xxxxnMWWWWMMxxxxxxxxMxxxxMMMMMMMMMMMMMMn*iz+iiz+***+*in;ixxzz###nWWMWWWWWWWWWWWxMWWWWWWWWWMxWWWMMWMM
xxxMMWWWWWWMMxxxxMMMMMMMMMMMMMMMMMMMMMMMni#+*ii+#z###z+;inxz##znWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWMWMW
xxxMMWWWWWWMMxxxxMMMMMMMMMMMMMMMMMMMMMMMMn#+**ii;iiiiii;*zz+##znWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMM
xxxMMWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx#+*iiiii;iiii*zz+++#nWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMWWWWWWMxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMz+**ii;;i**ii*#z++#zxWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
xMMMMWWWWWWMMMMMxMMMMMMMMMMMMMMMMMMMMMMMMMMn++*ii;i*+*ii*#n++#nMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWW
MMMMMWWWWWWMMMxnznMMMMMMMMMMMMMxnnMMMMMMMMMn#+*ii;i*i+#*+nz#+zxWWWWWWWWWWWMWWWWWWWWWWMMWWWWWWWWWxxWW
MMMMWWWWWWWWMMMnzzMMMMMMMMMMMMMxnnMMMMMMMMMnn++*iii*+xxxxMn##nxWWWWWWWWWWMMWWWWWWWWWWMxWWWWWWWWWxMWW
MMMMMWWWWWWWMMMMnxMMMMMMMMMMMMMMxxMMMMMMMMz#Mz++*i+znnnnnMxnznWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMWW@W@WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM#n+xx#+*+zzzzzznnnxnxWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMMWW@@@WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMz+n+zMx#+#n+#zxxnnnnxMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMWWW@@@WWWMMMMMMMMMMMMMMMMMMMMMMMMMMM*#n#+MMxzznz#nMMxxMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMWWW@@@@WWMMMMMMMMMMMMMMMMMMMMMMMxznziznn+zMMxxMn#nxxMxMWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWMxMWWW
MMMMWWW@@@@WWxnnMMMMMMMMMMMMMxnnMMMxi*nii#nx++zxMWMxxnxxMMWWWMMW@WWWWWWMxMWWWWWWWWWMxxWWWWWWWWxxxWWW
MMMMWW@@@@@WMzzzxMMMMMMMMMMMx+*iii;;;#+;i+nMz++#MWWMMMMMMWWWWMxM@WWWWWWxxxWWWWWWWWWMxxWWWWWWWWMxMWWW
MMMMWW@@@W@WMzzznMMMMMMMMMn*::::;i;;i+*;i*nMx#++zxWWWMWWWWWWMMxnWWWWWWWMxMWWWWWWWWWWMWWWWWWWWWWWWWWW
MMMMWW@@@W@WWnzzxMMMMMMMx*::;;;;;;i*i+*+xMxxMz++++nxMWWWMxWWMMnznMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
MMMMWW@@@W@@WMxMMMMMMMMM++i;;i;;:;*ii+#xWMxnMM#++++#znnnnxMWxnnzz##nWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WMMMWW@@@@@@WWMMMMMMMMM+:;*i;;ii*i+ii+zxMMxnxMx+*+++####zxMWnnzz#z##+zMWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWW@@@@@@WWWMMMMMMMx;::;+ii+*#++i*+zxxMxnxnWWn#++++++zxMWnnz##nz##++zMWWWWWWWWWWWWWWWMWWWWWWWWWMx
WWWWWW@@@@@@WWWWMMMMMM+;;;;i#i*++#*i++zMnnxzxnxWWWxn#++#nxWWnzzzzxz#+++++xWWMMWWWWWWWWWMxMWWWWWWWWMx
MWWWWW@@@@@@@WMWMMMMMx;;;;;i+#i++#**#+zMzzxnnnnMWWWWWWWWWWWMzzzznxz#++++++zMMMW@WWWWWWWWMWWWWWWWWWWW
WMWWWW@@@@@@@WMWWMMnn+;;;;;ii++*++*+#+#xz#nMnznnWWWWWWWWWWWzzz#zWxz#+#+++++nWW@@@WWWWWWWWWWWWWWWWWWW
xnMWWW@@@@@@@WWWWWMnn**;iiii;*#*++*++*#xn#zMnzznxWWWWWWWWWxzzzzMMxz#+#+++++zx@@@@@WWWWWWWWWWWWWWWWWW
nnnWWW@@@@@@@WWWWWWxzii+;*++*i*++++**++xn#+nxnnnnMWWWWWWWWzz#zxxxz#####+++#zzW@@@@@WWWWWWWWWWWWWWWWW
nnnWWW@@@@@@@WWWWWWWz*i+#ii+z+i+#++*+++xn+*zxnzxnnMWWMxxWMnznxxnnzzz####++#nzW@@@@@@@WWWWWWWWWWWWWWW
MxMWWW@@@@@@@WWWWWWW#i**+#+*+z#*+++*+*+#+**+nxznxxxMMxMMxx#nMnnnzzz####++++z#W@@@@@@@WWWWWWWMWWWWWWW
WWWWWW@@@@@@@WWWWWWW#i***+##++z#+++++*+++**+zxzznxzMWMWxxznxnzzzzzzz###++++nzx@@WW@@WWWWWWWWMWWWWWWW
WWWWWW@@@@@@@@WWWWWW#i+****#z+#z#+++**+#+**+#nnzznnnWWMMnxxnzzzzzzzzz###++#zzzW@WMW@@WWWW@WWMW@WWWWW
WWWWWW@@@@@@@@WWWWWW#ii**++*+###z##++#+#+**+#znnzznnxWWMnxnzzzzzzzzzzz##+##znzx@WW@@@@WWW@@@W@@@@@@W
WWWWWW@@@@@@@@WWWWWWzz+*++*+##+##nz##++#+**++#nnzzznzWWxxnzzzzzzzzzzzzzz###znzn@@@@@@@@@@@@@@@@@@@@@
WWWWWW@@@@@W@@WWWWWxznnz#+*++#zz#zz++++#+**+#+znnzznnxxxnzzzzzzzzzzzzzzz###nnzn@@@@@@@@@@@@@@@@@@@@@
WWWWWWMxW@@@@@@WWWW#zznzz##+*+*#zzn#+*+#+*++##zznzzznnxnznzzzzzzzzzzzz####zxnzn@@@@@@@@@@@@@@@@@@@@@
WWWWWWMxW@@@@@@WWWWM###z####+++#zzxzzz##++*+###znnzznnnzznzzzzzzzzzznz#z##zxnnz@@@@@@@@@@@@@@@@@@WW@
WWWWWWWMW@@@@@@WWWWMxnzz#+++zz#z##nxzz##++*#####znzzzznzzzzzzzzzzzzznz#z##zxnznW@@@@@@WW@@@@@@@@@WW@
WWWWW@@W@@@@@@@WWWWxxnnnnz###zznzzznxz##++######znnzzznxzzzzzzzzzzzzzzzzzznxnznW@@@@@@WW@@@@@@@@@@@@
WWWWW@@@@@@@@@@WWWWxnnzznnn##+#zzz##xz##+z######zznnznnMnzzzzzzzzzzznzz#zzxxnnnx@@@@@@@@@@@@@@@@@@@@
WWWWW@@@@@@@@@@WWWWnnnzznnnn#+#++##nMnz##z######zznnznnnznzzzzzzznzznnzznnMxznnnW@@@@@@@@@@@@@@@@@@@
WWWWW@@@@@@@@@@WWWWzzxnnnnznzz#+#nnxMnzznz######zzznnnnzznnzznznnnnnnnznxMxnnnnnM@@@@@@@@@@@@@@@@@@@
WWWWW@@@@@@@@@@@WWWn##znzznnnnnnnznnMMznn###z##zzzznnnnznnnnnnnnnnnnnnnxMMxnnnnnx@@@@@@@@@@@@@@@WW@@
@WWWW@@@@@@@@@@@WWMMMxnnnnnz#zznnnnzznnnz##zz##znzzznxnnnnnznnnnnnnnnnnxMMnnnnnnx@@@@@@@@@@@@@@WWW@@
@WWWW@@@@@@@@@@@@WMMMMxn#####++zznzzznxnz###z##zznzznxxnnnnnnnnnnnnnnnnxxMxxnnnnx@@@@WW@@@@@@@@@W@@@
WW@WW@@@@@@@@@@@@WWWxxxxxxxxnnnzznxxnnMn#zzzzzzzzznznxxnnnnnnnnnnnnnnnxxxxxnnnnnx@@@@WW@@@@@@@@@@@@@
@WWWW@@@@@@@@@@@WWWWnnnnnnnnxxnnnznxMxnzzzzzzzzzzznnnxxnnnnnxnnnnnnnnnnxxMxnnxxxM@@@@@@@@@@@@@@@@@@@
@W@@@@@@@@@@@@@@@WW@Wx#znnnnnnnnnnnnxMxnzzzzzzzzzzznnxxnnnnnxnnnnnnxxxxxMMxxnxxxx@@@@@@@@@@@@@@@@@@@
@@@@W@@@@@@@@@@@@@W@@Wxz#zzzzznnzz#znMMxzzzznzzzzzznnxnnnnnnnnnxxnnnxxxxMMxxxxxxx@@@@@@@@@@@@@@@@@@@
@@@W@@@@@@@@@@@@@@@W@WMMxnnnzzznxxxxxxMxnnnznzznzznnnnxxxxxxxxxxxxxxxxxxMMxxxxxxx@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@MMW@@@MxxxxxnnnnnnnzzxMxnnnnnnnnnnnnnxxxMxxxxxxxxxxxxxxxMMxxxnnxxM@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@WMMM@@@MMxnnnnxxxnnznnnMMxxnnnnnnnnnnnxxxWxxxxxxxxxxxxxxMWMxxxMMxxM@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@WWMM@@@WMxnnxxnnznnnnznnMMxxnnnnnnnnnnxxxMxxxxxxxxxxxxxxMWMMMxxxMMMW@@@@@@@@@@@@@@WWW
@@@@@@@@@@@@@@@@WWW@@@WMxxxnzzzznnxxxMMWMxxnnnnnnnnxxxxMxxxxxxxxxxxxxxMWWMxxMMMMMMM@@@@@@@WWWWMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@MxnnnnnxxxxxxxMMWMMxnnnnnxxxxxnxxMxxxxxxxxxxMMxMWMMMMxxxMMMMWWWWMMMMMMMMMMMMM
#@@@@@@@@@@@@@@@@@@@@@@Wn#znnxnnnxxxxxxMWMxxxxnnxnnnzznxxxxxxxxxxxxxMMWWMMxxxxxxMMMMMMMMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@WMnnnxxxxxxxnnnxMMMxxxxnnnzznnnnnnxxxxxxxxxxxxMWWMMMxxxxxxxMMMMMxMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@WMxMMxxxxxnnnnnxxxMMxxxxxxnnnnnnnxxxxxxxxxxxxxMWWMMMxxxxxxxxMxxxxMMMMMMMMMMMM
@@@@@@@@@@@@@@@@@@@@@@@WMMMMxnnznnnnnxxxxxWMMMMMMMMMMMMMMMMMMMMWWWWWWWWWMxnnxxxxMMMMMxMMMMMMMMMMMMMM
@@@WW@@@@@@@@@@@@@@@@@@WMMxnnnnnxnxxnnnMMMWMMMMMMMMWWWWWWWMWWWWMMMMMMxn#*ii;i*#nMMMMMMMMMMMMMMMMMMMM
@@WxM@@@@@@@@@@@@@@@@@@MnznxxnnnxxxnxxxMMMMMMMxMxxMMMMWWWWWWMMMMMMxz+*****iiiiii*#xMMMMMMMMMMMMMMMMM
WMxnM@@@@@@@@@@@@@@@@@@xnxxxxxxMxxxxxxxMWMMMxxxxxxMMMMMMMMMMMMMxz+*****+#zzz#+iiiii+zxMMMMMMMMMMMMWW
nnxxM@@@@@@@@@@@@@@@@@@WMMxMxMMMxMxxxxMnnxWWWMxxxxMMMMMMMMMMxx#****++++#zzzzzn#*ii**ii#nMMMMMMMWWWWW
nnxxM@@@@@@@@@@@@@@@@@@@MMMMxMMxMxnnxxnzzznMWWWWMxxxxMMMMxz+*zz+++#zz++#znxxnnz+**+#iiii*zxMMWWWWWWW
nxxxM@@@@@@@@@@@@@@WW@@@WMMMMMxMxxxMxnzzzzznxWWWWWMMxxnz+****znzzzzznnnnnxxxxxxn#+#z+*iiiii+nMWWWWWW
nxxxM@@@@@@@WWWWWMMMMW@WWWWMMMMxxxMxxnzzzzznnxMWWWWWMz*****+##nnnnnnxxxxxxxxnnxxz#znz#***iiii*zMWWWW
nxxxMWWWWWMxnMMMMMMMxxnnWWWMWMMMMMMMxnnnnnnznnnMMWWM++++#zznxxxxxxxnnxxnnxnz#zxn#znnznzz#+******#xWW
xxxxMMMMMxz#zMxxxnzzzznM@@WWWMMMMWMxxxnnnnnznnnnxMMx*#znnnxnnnnnnxxnnnnxMxzz#zzzzzxnnnnznzz#+*****+#
xxxMMxnz###zznzzzzzzznxW@@WWWWMWWWMMxxxxxxnnnnnnnxxM#*#nnnxnznnnnxxxxxxxMnzzzzzzxnnxxxnnnnnzzz#+****
xxxMx#####zznnzzzzznnnM@@@WWWWWWWMMMMxxxxxnnnnnnnnxMx+**#nxnnnnnxxxxnxxMxzzzzzxxnnzxxxxxnnnnzzzzz#++
xxxMMzzzzzznnnnnnnnnnnW@@@WWWWWWMMMMMMMxxxxxxxxxnnxxxz++++#nnnxxxxxxnxxxnzxMMnznnznxxMxxMxnxnzzznnn#
xxxMMzzzzznnnnnnnnnnnxW@@@WWWWWWWMMMMMMMxxxxxxxxxxxxxn#+++++znxxxxnxxxxnnMMMMxnnMnnxxMxxMMxxxnnnzz#z
xxxMMnnnnnnnxxnnnnxxxxW@@@WWWWWWWWWMMWMMxMMMxxxxxxxxxxz+++####zxxxMxxnxMMMMMMMMxnnnxxMMMxxMMMnnz#znn
xxxxxxxxxxxxxxxxxxxxxxxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnxxxn
nnnxnnnnnnnnnnnnnnnnnnxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnzzzzzzznzznnxxxxxxxxxxxxxxnnnnnnnnnzznnnnnnn
nxxxxnnnnnnnnxnnnnnnnxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnzzzznnnnnnnnxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxxxxxnnxxxxxxnnnnnnnnnnnnnn
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxxxnnnxxxnnnnnnnnnxxnnnnn
xxxxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxnnnxxxnnnxxnnnxxxxxxxxxxxxxxn
xxxMMxxxxxxxxMMMMMMxxMMMMMMMxxxxnnnnnnnnnnnnxnnxxxnnnnnxxxnnnnnxxxxxxxxxxxxnxxxxxxxxxxxxxxxxxxxxxxxn
xxMMMMxMM@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxxxxxxxx
MMMMMMMWx:................,z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxxxxxxx
MMMMMMMW`                  `z@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Mxxxxxx
MMMMMMW#````````````````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MxxxMxx
MxxxxxM+```````````.````````;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MxxMMMM
xxxxxxM+`..........:,.......;@@@@@@WMMW@@@@@@@W@W@@@@@@@@@@@@@@@@@@@@@@@@@#+x@n*+WW##W@@@@@@@MMMMMMM
MMxxxxM+.....,;;;;;;;;......;@@@@@@WM@MWWMWWMWMWWMMWWMWWWW@WWM@WMWWWWMx@@nn@#x*@M*+MWn@@@@@@@MMMMMMM
MMMMMMM+.....:;;;;;;;;i,....;W@@@@@WMWWMxWxxWMMWMWMMMWxMxWWMMMMMWxxMMMnM@W+*z#x@@ix++M@@@@@@@MMMMMMM
WWWWWWM#,,,,,;*********:,,,,iWWWWWWWMWMMxMMWMxMWMWMWMMxMWWWMWWMMMxxWMxzMWxWWiz#WWizWW+WWWW@@@M@@@@@@
WWWWWWM#,,,,,;iiii*++i,,,,,,iWWWWWWWxMxWMMMMMMMWMxMMxMxMWWWxxxWxMxxWMnzxWM+++W**ixn+#zWWWWWWWM@@@@@@
WWWWWWM#:::::::::::#i:::::::iWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWxWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWM@@@@@@
WWWWWWM#::::::::::;;;:::::::*WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWM@@@@@@
WWWWWWxz;;;;;;;;;;;;;;;;;;;;+WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWM@@@@@@
WWWWWWMMi;;;;;;;;;;;;;;;;;;inWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWM@@@@@@
WWWWWWWxx+*****************nWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWx@@@@@@@
WWWWWWWWxxMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxMxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxW@@@@@@@
WWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWMWWWWWWWWWWWMWWWWWWWW@@@@@@@@
@WWWWWWWWWWWWWWWWWW@WWWW@@@WWWWWWWWWWWWWWWWW@WW@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WWW@@W@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWW@@WW@WWWWWWWWWWWWW@WWWW@WWWWWWWWWWWWWWWWWWWWW@@@W@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW@WW@WWWWWWWWWWW@WWWWWWWW@WWWWWWWW@WWW@W@@W@WW@@W@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWW@@@W@WWWWWWWWWWWW@@@@@@WWWWWW@@@@@@WWWWW@@@@@W@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWW@@@@@@@@@@@@@WWWWW@WWW@@@@@@@@WW@@@@@@@@@W@W@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@