##############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********************
##########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***************************
####++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******************************
#+##+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********************************
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+*+++**********************************************
#+++++++++++++++++++++++++++++*++++++****+++++++*+**************************************************************
++++++++++++++++++++++++*++******+******************************************************************************
++++++++++++++++++++++******************************************************************************************
+++++++++++++++++++*********************************************************************************************
++++++++++++++++++******************************************************************************************i***
++++++++++++++++**********************************************************************************iii*iiiiiiiiii
++++++++++++++++********************************************************************************iiiiiiiiiiiiiiii
+++++++++++++*************************************************************************i**ii*iiiiiiiiiiiiiiiiiiii
+++++++++++*****************************************************************i***i*i**iiiiiiiiiiiiiiiiiiiiiiiiiii
++++++++++****************************************************i*****iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+++++++++***********************************************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
++++++++********************************************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
++++++**************************************i***iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+++++********************************i***iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
++++***************************ii**iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+++*************************i*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
+++*********************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
++********************i**iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
++******************i*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;iiiii;i;;iiiiiiiiiiiiiiii
+******************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;iii;;;ii;;;;;;;;;;;;;;;i;;;iiiiiiiii
*******************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;iiii;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiii
***************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii
***************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;i
*************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i
************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*********i*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*********iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*******i**iiiiiiiiiiiiiiiiiiiiiiiiiiii;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*******iiiiiiiiiiiiiiiiiiiiiiiiiii;ii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
******iiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*****iiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;;;;:;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;
*****iiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;::::::::::;;::::::::::::;;;;;;;;;;;;;;;;;;;;
****iiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;
**iiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;
**iiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;
*iiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::;::;;;;;;
*iiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;
*iiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;
*iiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;
iiiiiiiiiiiiiiii;;;;;ii;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;
iiiiiiiiiiiiii;;;;ii*++i;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;
iiiiiiiiiiiiiii;;i*####*;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;
iiiiiiiiiiiiii;;i*###+##*;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
iiiiiiiiiiiii;ii+##+#####*;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::,:,,::::::::::::::::::::::::::::::::::
iiiiiiiiiiiiii++++#+++++#+i;;;;;;;;;:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::
iiiiiiiiiiii+##++#+++++###+;;;;;;;;::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::
iiiiiiiiii*+++#++++++++####*;;;;;:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,:::::::::::::::::::
iiiiiiiii*++++++++#####+++##i;;;:::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::
iiiiiii*++###+++++++++++####+;;;::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::
iiiiii*++###+++++*+++##++++##i;:::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::
+*ii*+++##+++++*+++##++++++##*;:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::::::::::::
##++++##++++++*++#++++++++####;:::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::
+##+#+++++++++++++**+*+##+++##*;:::::::::::::,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::
+###++++++*+++++****+#+++#nnnz#;::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
++++++++*++++**+*++#+++znxMxnzz+;::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
++++++*+##+****+++++#zxxxnzz####;::::::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
++#+**+#+****++#++#nxxxn########*::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::
+++*+##+****++++#zxxnz#+#+++#####i::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::
+**+#+*****++*+###zz#+++++++######;:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::
++##+****+++++++#z#++++++++++##zzz+:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::
##+****++**##+##++++++++++++###zzzzi::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,::::
#*****+*+#+++#+++++++++++++##zzzznx#::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:;;:;:,,,,,,,,,,,,,,,,,,,,,,,,:::
****++**#++##++++++++++++##zzzzzzzzz;:,,,,,,,,,,,:::,,,:::,,,,,,,,,,,,.,.,,,*+*i*+****:,,,,,,,,,,,,,,,,,,,,,,:::
***+**+++##++++++++*+++##zzz#zzzzzzz*::,,,,,,,,,:::::;;;;;;::,,,,,,,,,..,,,;+znzzn##nz+*;,,,,,,,,,,,,,,,,,,,,,::
**+*++++#+++#nx#+++++###z#####zzzzzz#::,,,,,,:::;;;;ii*****ii;:,,,,,,...,,;+znxxxxMxMxnxn#i,,,,,,,,,,,,,,,,,,,::
++*+#++#+++zxxn+++++##z#####zzzzzzzzz;:,::::::;;i*+#znnnnnnzz#*i:,,,,...,;#nxMMMMMMWWMxMMMx+:,,,,,,,,,,,,,,,,,,:
**+++#++++nxn#**+++#z#####zzzzzzzzzzz*::::::;i+zznnnxxxxxMxxxxn#*;,,,..,:nxxMMWWWMWWWMMMMMMM+:,,,,,,,,,,,,,,,,,:
*+++#+++zxxz+++++#z######zzzzzzzzzznnz+*i;;i+nxxnxxxxxxxxMMMMMMxn#i:,,,,+xMMMWWMWMMxxxnxxxxxxz*;,,,,,,,,,,,,,,,,
+*++++#nxx#*++++########zzzzzzzzznnnnnz##+#nMMMxxxnnnxxxxMMMMMMMMxzi:,,:nMWWWWMxz#####++##znxxx#;,,,,,,,,,,,,,,:
*++++nxxz+++++########zzz##zzzznnnnnxnz#zxMWWWWMxnnnxxxxMMMMWWWMWMMz;,:ixMMWWxz+******i****+#nxxn;:,,,,,,,,,,,,,
++*+nxn#+++++##++#++#######zzzzznnnnnnnnMWWWWWWWMxxxnnnnznnxMWWWWWWM#;;zMxMxz+*iiiiiiiiiii**++zxMxni,,,,,,,,,,,,
+++nn#*++++###+++++#######zznznnnnnnnxnnMWW@@@@@WMxz+*i****+#zxWW@WWx#zMMMx#+iiiiiiiiiiiii***++zMMMn;,,,,,,,,,:,
++zn+*+++#z#+++++++######zzznnnnnnnnxnzzM@@@@@@@Wxz#*iiiiii*++#nWW@WWxxMMx#*iiiiiiiiiiiiii***++#xWMMz:,,,,,,,,,:
**++*+++###+++++++#####zzzzznnnzznnnnnxxMW@@@@@Mn#++#i;;iii**++#xWWWWxMWMn+ii;;iiiiiiiiiii****++zMWMx*,,,,,,,,,,
*****++#####++++######zzznnnnnnnnnnnnxMxxM@@@WMxnz+**#i;;ii***++zxMMMMMWWn+i;;;iiiiiiiiiii*****+#nMWMz:,,,,,,,,,
*****+#+###+#+++++###zznznnzznnnnnnxxxMxxMWWMMMMxn#*i#+;ii****++#nxxMMMMWx#i;;iiiiiiiiiiii**+++++#nMMM#:,,,,,,,,
****+++++##+++++++#z#zzzzzznnnxnznxxxxxMMMMMMMMMxnz+*+ziii****+++#xxMMMMMMn*iiiii;;;;ii*+znnnnz#+#zMMMxi,,,,,,,,
***++++++###+++++###zzzzzzznnnnnxxxxxxxMMMMxMWWWxnz#++z+i*****++++zxMWWMMMn*iii;;;;;;i*+#zzzzznnzzzxWWM+:,,,,,,,
*+nz+++++#z#++++##zzzz#zzznnnnxxxxxxxxxMMMMxMW@@Wxnz+*++*ii*****+##nxMWWMMx+iiiiiii;ii*+##+++++#z#nxMWMn;,,,,,,,
+zn#+++++#z#++###zzz##znnzzznxxxxxxxMMMMMMxMMMW@@Mxn#+**iii*****++#nxMWWMWx#**#z#+*i;i*#z#***+####zxxWWMi,,,,,,,
zn##+++++#z#####zzz#zzznz#zzxxxMxxxxMMMMMxMMMMW@#@Mxz+*iiii****+++#zxMWWWWM##nnz#+*ii*+#i*+++##z###zxxWW#:,,,,,,
x##+++++++#zz###z##zzzzz###zxxxMxxxMMMMxMMMxxMMW@WWxn#*ii******+++#zxMWWW@Wnz+++###++##zi+zxMxxnz#zznMMWz:,,,,::
n#++++++++#nzzzz##zzzz#z##znxMxMMMxxMMxMMMxxxxMMMWWxn#*********+++#zxWWWW@Wn;.i*+++#+*+zz###zzznzzzzzMWWn;,,,:::
zz#++++++#zznzz#+#zz###+#zxxxMMMMMMxxxMMMxxxMMxMMMMxn#+********+++#nMWWWW@W#*,;+##+n+**#n#++#zzz#####nWWn;:,,,::
zzz#+++++##nnn#+###+#++#nxxxMMMMMMxxxMMxnnxMMMxxxMxxnz#+++**+++++##nMWMMW@Wz+*#nz#+z+**+zz###++++++##zMMz:::::::
zzzz####+##znz####++*+znnxxMMMMMMMxxxMxnnxMMMxMMMxxxnzzzz#++#zz###znWWMW@@Mnznnz#+*#+***+##++*****+++#xMz;::::::
#zzzzzz####zzzz##+**+znnxxxMMMMMxMxMMxnnxMMMWMMMMMxnnnnxnz##znxnz#zxWMMW@@Wxn#++++##+*ii+##+*iii***+++zxn*::::::
##zzzzzzz#zz#nn#+*i+znnnxxxMMMMxxMMxnnnxMMMWWWMMMxxnnnxMnz#++#nMxznMWxMW#MWn##+++*++++*+#nz#*iiii**+++znn#;:::::
+#zzzzznxnz#znn#+i*zznnxxxxMMMMMMMxnznxMMMMWWMMxMxnnnxMMxz#+++#zMxxWWxM@#WMz+****i*+zz##nWxn#*iii**++#znnzi;::::
+#znz##zxWnzznnz**#znnnnxxMMMMMMMxnnnxMMMWWWWxMMMxnnxxMMxnz####znMW@MxM#@@x+**iii;*#nxzznnnz#+*****++##xzz*i;;;:
+#znn#+#nMMnzzz#*#zznnnnxMMMMMMMMxnxMMMMWWWWMxMWMMxxxxxMxxnzzzzznM@WxMM##@n**i;iii*+###zzz##++**+**+###nnz*iii;;
+#znnz+#zxMMnznnzzzznnnxxMMMMMMMMxxMMMWWWWWMMMMMMMMxxxxMWW@xnnznxW@MMMW##W#*ii;ii***+++++++###+++**++##zx#+**ii;
##nnnz##znxMMnnxxnzznnxxxMMMMMMMxMMMMMWWWWMMMMMMMMMMxxxMM@@WMxxMW@WMMWW##W+*iii*****++****+++###+***+##znz#++**i
#znnnz##znxxxxxxxnzznnnnxMWMMMMMMMMWWWWWMMMMMMMMWMMMxxxxMWW@WMMW@@WMWM@##M+*i***+**+****+#zznzz#+*i*+##zz###++**
#znxxz#+znxxxnnxxxnznnnxMMMMMMMMMMMWWWWMxMMWMMMMxMMMxxxxMMWWWWW@#WWWWW@##M+*******+++######zzxM#+*i*+##nnzz###+*
zznxxz++znxMxnnxMMnnzznxMMMMMMWMWWWWWWMMMMMMMMMxMMMMxxxxxMMWWW@##WWWWW@##M+******++#zz*:;:i**zz+***++##nzznnz##+
zznxx#*+znxMxz#nMMnzznxxMMMMWWWWWWWWWMxMMWMMMMxxMMMMxxxxxxMMM@@#@@W@WW###W+*****++zx#i;:;;i+###+***++##nnnnnnzz#
#znxn**+#nxMx#+zMWnznxxMMMMWWWWWWWWWMxMMWMMMMxxMMMMMMxxxxxMMW@##@@W@WW###@#***ii**zn+***+++###+++**++##nnnnnxxn#
#znxz*i+#nxMn+*#xWxnnnxMMMWWWWWWWWWMxMWMMMMMMxMMMMMMxxxxxMMW@###@@@@WW####z****ii**+##+***++++++**+#+#znnnnnxxxn
#znxzii*#znMn**+zWMnznxMMWWWWWWWWWMMMWWMMMMMxMMMMMMMxMxxMMW@#####@@@@@#@##x+ii*iii**++++++++++**+++###zxxnxxxxxn
#znx#ii*#znMx+**#MWxnxxMWWWWWWWWWMMMWWMMMWMxMMMMMMMMxMMMMW@######@#@@@#@##M+ii*iiii*****+++*****++###znMxxnxxxxn
#znx#ii*+znMWz++#xWMnnMWWWWWWWWMMMWWWMMMWWMMMMMMMMxMMMWWW@#########@@@#@##@z+i**iii*************++###zxMMMxxxxxn
#znx#i;*+znxWx##zxWMMWWW@W@WWWMMMWWWMMMWWMMMMMMMMxxxMMW@@#######@##@@@#@#@@x#*****i*i**i****++*++###zzxMMMMxxxxn
#znx#ii*+znxWWxnxMWWWWW@@@@WWMMWWWWMMMWWMMMMMMMMxxxxMW@#########@###@@#@#@#Wz#+******ii****++++++##zzzxMMMxxxxxn
#nnx#ii*+znxW@WWWWWWWWW@@@WMMMWWWWMMWWWWWMMMMMMMxxxxM@##########@######@####xz#+++**********+++##zzzzzxMMMMxxxxn
znxx#ii*#znxWWWWMxMWW@@@WWMMWWWWWMMWWWWWMMMMMMMxxxxM@###########@#####@@####Mzz#+++++*****+++##zzzznzzxMMMMxxxxn
nxxx#ii*#znxW@WMMMWWW@@WWMWMWWWWMMWWWMMMMMMMMMxxxxxM@###########@@#####@####xzzz##+##++++++##zznnnnnzzxMMMxxxxxn
xxxMz*i*#znxW@@@WWW@WWWWWWWWWWMMMWWWWWMMMMMMMxxxxxxM@############@##########x#zzz###z#####zzznxxxnnzzzxMMMMxxxxn
xMxMz***#znM@@@@@@@@WWWWWWWWWMMWWWWWWMMMMMMMMxxxxxxxM###########@@##########n++#zzzzzzznnnnxxxxxnnnzzzxMMMxxxxxn
MxxMz**+#nxM@@@@@WWWWWWWWWWWMMWWWWWWMMMMMMMMxxxMxxMxxW######################n+**+#zznnnnnxxxxxnnnnnnzzxMMMMxxxxn
xxxM#**#zxMW@@@@@WWWWWWWWWMWWWWWWWMMMMMMMMMxxxMxxMMxxW######################n+****+##znnxxxxxxnnnnnzzzxMMMMxxxnn
xxMM+*#zxMM@@@@@WWWW@WWWWWWWWWWWWWMMMMMMMMxxxMxxxMxMM@####################@#n+*iiii***+#znnnnnnnznzzzzxMMMxxxxnn
xMMx++#nMMW@WWWWW@@WWWWWWWWWWWWWWMMMMMMMxxxxMxxxMxMM@####################@@#n+*iiiiiii***++##zzzzzzzzzxMMMxxxnnz
xxMn++zxMMWW@WWW@@@WWWWWWWWWWWWMMMMMMMMMxxxxxxxMxxM@##########@##########@@@x+*ii;;iiiiiii***++######zxMMMxxxnnz
xxMz+#zxMW@@WWW@@WWWWWWWWWWWMMMMMMMMMMMxxxxxxxMMxMW###########@#######@@#@@@W#*iii;;;;iiiiiii**++++##zxMMMxxxnzz
xxMz##nxM@@@@@WWWWWWWWWWWWWWMMMMMMMMMMxMxxxxxMMMMW############@#######@@##@@@M+iii;;;;;;iiiii***++++#zMWMMxxnnzz
xMxzznxMW@@@WWWWWWWWWWWWWWWMMMMMMMMMMxxMxxxxMMxMW@######@#####@@#####@@@@#@@@@Wzii;;;;;;iiiii*****++#zM#@Mxxnzzz
xMxznMMMW@WWWWWW@@@WWWWWWMMMMMMMMMMMxxMxxxxMMMMW@#######@#####@@######@@@@#@@@@Wn*;;;;;;;iiii*****++#zM#@Wxxnzzz
xMMnnxMWWWWW@@@@WWWWWWWWMMMMMMMMMMMxMMxxxxMMxxW@#######@@@###@@@#####@@@@@#@@@@@@M#iiiiiiiiii*****++#zx#@WMxnzzz
MWxnxMMW@@@@@@WWWWWWWMMMMMMWMMMMMMxMMxxxxMMMMW@#######@@@@###@@@######@@@@##@@@@@@WMzznxxMxn#+****++#zx#@@Wxnzz#
MMxxMMW@@@@WWWWWWMMMxxMMMMMMMMMMxxxMxxxxxMMM@#########@@@@@##@@@#####@@@@@@##@@@@@@@@WW@@@@@WWx+**++#znWW@@Wxzz#
MMxxMWW@@@WWWMMMMxxxxxMMMMMMMMMxxxMxxxxxMMM@##########@@@@@##@@@#####@@@@@@##@@@@@@@@@@@@@@@@@@M+*++#zxWW@@@Mnzz
xMMMWW@@WWWMMMMxxxxxxMMMxxxMMMMxxMxxxxxMMW@#########@@@@@@@##@@@#####@@@@@@@##@@@@@@@@@@W@@@@@@@Wn##zzxW@@@@@Mzz
MWWWW@@WWMMMxxxxxxxMMMxxxxxMMxxMxxxxxMMMW@##########@@@@@@###@@######@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@WWWW@@@@@@WMz
MWWWW@WWMMxxxxxxxxMxxxnxxxxxxxxxxnxxxMMW@###########@@@@@@###@@#####@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M
MW@@WWMxxxxxxxxMxxnnnxxxxxnxxxxnnnxxMMM@###########@@@@@@@##@@@#####@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MW@@WMxxxxxxxMxxnnnxxMMxxnxxxxnnnxxMMMW#############@@@@@@##@@@#####@@@@@@@@@@@##@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@
MWWWMMxxxxMxxnnnnxnxMxnnnxxxxnznxxMMMW@############@@@@@@@##@@@####@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W
W@WWMMMMMxnnnnnxxxxxxnnxxxnnnzzxxMMMM@###############@@@@@##@@@####@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
W@WWWWMxnnnnnnnnxxnnnnnnzzzznnnxMMMWW######@#####@##@@@@@@@#@@@###@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@W@@@@@@@@@
W@@WMMMxxxxxxxxxnzznnnnzzznnxxMMMMW@######@@@#@@@@@@@@@@@@@#@@####@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@W
@WWWMMMMxxMxxxnnzznnnnnnnnxxxxMMMW@######@@@@###@@@@#@@@@@@#@@###@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWMMMMMnnnnnxnnnnnnnnnxxMMxxMW@######@@@@@##@@@@@#@@@@@@#@@##@@@@@@@@@@@@#@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@
WWWWWWMMxnzznnxnnnnnnnnxxxMMxxMW@@###@@@@@@@@###@@@###@@@@@#@@##@@@@@@@@@@@@#@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@
WWMWWMxnnnnnxnnnnnnnnnnnxxxxxxMW@###@@@@@@@@@###@@@@##@@@@@#@@##@@@@@@@@@@@@@#@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@WW
WMWWMxxxnnxnnnnnnnxxxxnnxxxxxMW@###@@@@@@@@@@###@@@@##@@@@@#@@#@@@@@@@@@WW@@@#@@@@@@@@##@@@@@@@@@@@@@@@@@@W@WWWW
MWMMMxMMxnnnnnnnnnxxxxnnnxxxxMW##@@@@@@@@@@@@###@@@@##@@@@@#@@@@@@@@@@@@@WW@@##@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@WWW
WMMMMMMxxnnnnnnnnnxMMxxzznxxxM@##@@@@@@@@@@@@###@@@###@@@@@#@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@WW
MMMMMxxxxnnnnnnnnxMMxxxnznxMMW#####@@WW@@@@@@@###@@####@@@@#@@@@@@@@@@@@@@@@@###@@@@@@@@#@@@@@@@@@@@W@W@@WWWWWWW
MMMMMxxxxxnnnxxxxxxxxxxnznMMM@####@WxzzM@@@@@@###@@####@@@@#@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW
MMMMMxxxxxxnnxMxxxxxxxxxnxxMW###@@Mn#+++x@@@#####@@####@@@@#@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@
MMMMMxxxxxxxxxMxnnnxxxMMxxxM@#@@Wxz#+++++x@@####@@#####@@@##@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MMMMMMxxxxMMxnxMxnnxMxMMxMW@#@WMn#++**+++#M@@###@@@####@@@##@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MMMMMMMxMMMMxxMMxnnxxxxxxM@#@Wxz++*****+++zW@##########@@@#@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MMMMMMMMMMxMMMMxxxxxxxxxMW@@Wx#++******+++#n@##########@@##@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@