++++++***+++++*************iiiiiiiiiiiiiiiiiiiiiiiii;ii;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::;
+++*++***+*++*************iiiiii*iiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;:;:;;;;;;:::::::::::::::::::::;:::;:::::::::
++++++*****++*************iiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::;:::;::;;:::::;
++++++*******+***********iiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;:::;:::::::::::::::::::;::::::;;;::;;;:
++++*******+++***********iiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;:::;;:::::::::::::::::::::::::::;;:::;;:
++*++****+*+++*+*********iiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;i;;;;;;;;;;;;;;::;;:::::::::::::::::::::::::::::;;::;;;
+++++****+++++++*********iiiiiii*iiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;:;;;:;;;;:::::::::::::::::::::::::::;;;
++++++**++++++++*********iiiiii****iiiii*iiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;:;;;:;;;:::::::::::::::::::::;;;::::;;;
++++++**++++++++**********iiiii****iiiii*iiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;:;:::::;:
+*++++***+*++**************iiii****i*iiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:::::::::::;;;;:::::::
++++++**++++********+******iiii*iii**iiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::::::::::::;:;:::::::
++++++**++++***************iiii*i****iiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;:::::::::::;:::::::::
++++++***+++*************iiiiii***iii*iiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;::;:::::::::::::::::::::
++++++*+*++++**************iiiii*iiii*iiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;::;;::;;;;;;;:::::::::::::::::::
+++*++***+++***+************ii***i****iiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::;;::;::::::::::::::::::::
++++++*+*+*****+************i***ii**iiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;::;;:::::::::::::::::::::::
+++++++**+*++**+***********ii*i**ii*iiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;::::;;;;;;;;;;::::::::::::::::::::
++++++**++*++*++***********iii***ii*ii*i*iiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;::;::;;;;;::;;::::::::::::::::::::
++++++++++++++*************ii*********ii***iiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;:;:;::;::::::;:::::;:::
+++++++++**++++************************i**iiiiiiiiiiiii;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::::::::::::::
+++++++*******++***************************iiiiiiiiiiii;i;;;;;;;;;;;;;;;;;;;;;;::;;;;;;::;;;;:::::::::::::::::::
+++++++*******++****************************iiiiiiiiiiiiii;i;;i;;;;;;;;;;;;;;;;;:;;;::;:::;::::::::::::::::::;::
+++++++++**+*+++****************************iiiiiii**iiiiiii;;i;;;;;;;;;;;;;;i;;;;;;::;;::;:::;::;:::::::::::::;
++++++++++++*+++****+*************************i*iii**iiiii;;;;ii;;;;;;;;;;;;;;;;;;;;:;:;;;;::;;::;::::::::::::;;
++++++++++++++++************+********************iiiiiiiii;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;::;::;::::::::::;
++##++++++++*++++***************************iiiiii*iiiiiii;ii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;:;:;:::::::::;;
++##+++++++*+++++***+********************i**iiiiiiiiiiiii;;iiii;;;;;iii;;;;;;;;;;;;;;;;;;;;:::;;:::::::::::::::;
+##+++++++++++++*++++************************iiiii*iiiiii;;iiiiii;i;iii;;;;;;;;;i;;;;;;;;;;::;;;::;::::::::::::;
+#++++++++++++*+***++************************iiiii*i*iiii;iiiiii;;;;iii;;;;;;;;;;;;;;;;;;;;;:;;;;:;::::::::::::;
++++++++++++*+++***+******+**********+*******ii*ii***iiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;
+++++++++++++++++*********+**********+**********ii**iiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;
++++++++++++*+++*****+**************+++*********iiiiiiiiiiiiiiiiiii;iiii;;;;;;;;;;;;;;;;;;;;;;;;;;::::;:::::::::
++++++++++++*++++****++****++********++**********iiiiiiiiiiiiiiiiiiiiii;;;ii;;;i;;;;;;;;;i;;;;;;;;::;;::::::::::
++++++++++++*+++++*+**++**+***********************iiiiiiiiiiiiiiiiiiii;;;;i;;;ii;;;;;;iii;;;;;;;;;:;;;;;:::::;;;
+++++++++++**+*+++++***++***+*********************iiiiiiiiiiiii;iiiiii;;;;;;;;;;;;;;i;;iiii;;;;;;::;;:;;::::::;;
++++++++++++*+**++++***+**++++********************iiiiiiiiiii*i;iiiiiiiiii;;;;;;;;iiii;;iiii;;;;;;::;;;;:;:;::;;
++++++++++++++**+++++******++***+******************iiiiiiiiiiiiiiiiiiiiiiii;;;;;;;ii;;;iii;;;;i;;;::;;;;;;;;:::;
+++++++++++++++++**+++*****++*+**++++*************iiiiiiiii*iiiiiiiiiiiiiiii;;;;;iiii;;iii;;iii;;;;:;;;;;;;;;;;;
+++++++++++++++++++++++***+++++**++*+**************iiiiiiiii*iiiiiiiiiiiiiii;;iiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;
+++++++#++#+++++++++++++*++++++++++++***************iiiiiiiiiiiiiiiiiiiiiiii;iiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;
+++++++####+++++++++++++++++++++++++*+++***********iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;iiii;i;;;;i;;;;;;;;;;;;;
+++++++#####++++++++++++++++++++++++++++*************iiiiiiiiiiiiiiiiiiiiiiiiiii;ii*iiiiiiiiiiii;iii;;iiiii;;;;;
++++++++###++++++++++++++++++++++++++++++********************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;
++++++++##+++++++++++++++++++++++++*+*+++******+******++######+**iiiiii*iiiiiiiiiiiii*iiiiiiiiiiiiiiiiiiiiiiii;;
++++++++++++++++++#++++++++++++++++*+**++*****++****#zznnnnzzz###+**iii**iiiiiiiiii*i*iiii*iiiiiiiiiiiii**i*iiii
++++#++++++##+++#####+++++++++++++++++*+++++*+++**#nnnxxxxnnnzzz##++****iii**i*iiiiii*iiii***iiii*iii********iii
##+++++++++###########++++++++++#+++++++++++++++#nxxxxxxxxxnnnzz##+++*****i***iiiiiiiiiiiiiiii*iiiii*********ii*
##+++++#++++#####+####+++++++++++++++++++++++++zxxxxxxxxxxxnnnzzz##+++****ii**iiiiiiiiiiiiiiiiiiiiiiii*******ii*
+++++++#++#+#############+++++++++++++++++++++zxxxMMMMMxxxxnnnzzz##+++****iii*iiiiiiiiiii*iiiiiiiiiiii*******iii
++++++++#+#########+#####++++++++++++++++++++zxMMMMMMMMMxxxnnnnnzz#**ii****iii*iiiiiiiiiiiiiiii*iiiiii*********i
+++++++#+#################+++##++++++++++++++xMMMWWWWWMMMxxxxnnnnz#+*iii*+*****i*iiiiiiiiiiiiiiiiiiiiii*********
++++++##############+#####+++###+++#++++++++zMMMWWWWWWMMMxxxxnnnnzz+*iii*******i**iiiiiiiiiiiiiiiiiiiii*********
+++++###############++####+++#####+#++++++++nMMWWWWWWWMMMxxxxxxnnz#+*iii**+*******iiii*iiiiiii**iiiiiii*********
+++++++######z##############+#####+++++++++#xMWWWWWWWWMMxxxxxxxnnz#++iii*++********i******i*i****iii***********i
+++++++####zzzzz####++#+#+##+#####+++++++++#MWWWWWWWWMMxxxxxxxxnnz++**ii+++*ii************i*****iiii*i*********i
+++++++###zzzzzzzzz##++++++++##+#+++++++#++zMWWWWWWWWWMxnznxxnxxnz#*ii**+++*i*******i***********iii*************
+++#######zzzzzzzz###++++++++#++#++++++++++zWWWWWWWWWWWMxnnxnnxxnz#+****+++*i******ii***********i***************
#############zzzzz#+++++++++++++###+++++++#nWWWWWWWWWWWWMxnxnxxxxnnz#**+###*ii*******************i**************
#############zzzzz#####+#+++++##########+##nWWWWWWWWWWWWWMMMxMMMxxxxz###znn+*i******i***************************
########z####zzzzz#########++++###########znWWWWWWWWWWWWWWWMxxxMxxMxxnz#znn#*********i******+*******************
########zz#zzzzzzzz#zz#####++++#########zMxMWWWWWMWMMMMMWMWMxznMMMMMMMxz#nnz******************************+#+***
########zzzzzzzzzzzzzzz#################xWWMWWWMMMMMMMWWMMWMxnnxMMMxnxMnzznz+**********************++++++*+*++**
#######zzzzzzzzznzzzzzz##############++#xW@WWWWMWWWWWWWWWWWMx#zxWWWMzxMn#zznzz***************++++++++++++*+++++*
#####z#zzzzznznnnzzzzzzzzz##+#######+**+MWWWWWWWWWWWWWWWWWMMni*xWWWMxnnz#zzznn***********+++++++++++++++++++++**
###z#zzzzzzzzznnnzzzzzzzzz##########++**xWWWWWWWWWWWWWWWWWMx#i,zMMMxz#z##z#+nx+*********+++++++++++#+++#++#+++**
###zzzzzzzzzzznnzzznnnzzzz###########++#nWWWWWMMMMWMMWWWWWMx+;:izxxxnzz#zzz#zM#******+**+++++++++++###+#++##++++
###zzzzzzzzzzznnnnnnnnnnzz#####z########zWWWWWMMMMMMMWWWWWMni*ii+znnnz###zxnzx#******++++++++++++++#++###+######
####zzzzzzzznznnnnnnnnnnzzzz#zzz########zxWWWWMMMMMMMMMMWWMz;i+*+zzzzzz#+#xnzz+******+*+*+++++#++###+#+##+######
#####zzzzznnnnnnnnnnnnzzzzzzzzz#z########nWWWWWMMMMMMMMWWWM#ii*+zzzzzz####xzn++*+*****++++++######+++#++++###zzz
#####zzzzznnnnnnnnznnzznznzzzz##z########zMWWWWWMMMMMMWWWWMz*i*znzz#++###zz#z++*++****+++###++#########zzzznzzzz
#####zzznnnnnnnnnnzznnnnnnzzzzzzzzz#######xWWWWWWWWWWWWWWWMn+ii+nxz#++###z#z#++++++*++++++++++#+#####+#z##znzzzz
####zzzznnnnnnnnnnzznnnnnnznzznnzzz#######zMWWWWWWWWWWWWWWMn#+zzxMxz####z#+#++++++++++++++++++#######*+z#+zzznzz
#####zzznnnnnnnnnzznnnnnnnnnnnnnzzzz#######xWWMWWWWWWWWWWWMxnxzzxMMxzzzn#+*+###++#++++++#++##+#######**###zzznnz
####zzzznnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzz###nMWnM@@@@@W@@@@WMMnzznxMMnnMz++++++++##++++++#####+##zz####+###zzzzzz
####zzzzzznnnnnnzzznnnnnnnnnnnnnzzzzzzzz####nnzM@@@WWW@WWMMMMn#+#znxxMx####++##+#++++####zz##+#zzz#z#++###zz#zzz
####zzzzzzznnnnzznnnnnnnnnnnnnnnnzzzzzzzz#####nW@@WMMWWWMMMWMn#+++++xxz+###++##+#+++++########zzzz###+##zzzz#znz
####zzzzzzznnzznnnnnznnnnnnnnnnnnzzzzzzzz#nzznW@@WMMM@WWMMMWWxn#zz*i+##++#++######++++++#####zzzzzzzzz##zzzzzznz
####zzzzzzznznznnnzzzznnnnnnnnnnnzzzzzzzzznnMW@@WWMM@@@WWWWWMMxnxxz*i+#++#++###+#+++++++#######zzznzzzzzznz#znnn
###zzz#zzznnzzzzzzzzznnnnnnnnnnnnzzzzzz##znMW@@@WWWWW@@@@WWWMnzznxn+i+ii++#######++++#++####+##zzzzzzzzzzz##zznn
####z#zzzznzzzzzzzzzznzznznnnnnnnzzzzzzzznxM@@@@@WWWW@@@@WWMxnnzznz+**,,i++#######++++++#####zzzz#zzz#zzz###zzzz
####z#zzzzzzzzzzzzzznnnnnzznnnzzzz#zzzznnxxM@@@@@WWWWWW@@WWMxnzzzz#i*;,.:++####+#++##+++####zzzz##zzz###z###zzzz
######zzzzzzzzzzzznznnnnnzzznzzzz#zzzznnxxMW@@@@@WWWWWWWWWMxnzzzz#*ii,,..i+###+++++###++#z#zzzzz###zzzzz#z##zznn
######zzzzzzzzzzzzznznnnnnnnzzzzzzzzzznxxMMM@@@@@WWWWWWWWMMxnzz##+;*,.:,.,*+##++++###++####zzzzz#####z#zz###znnn
#######zzzzzzzzzzzznnnnznnnzzzzzzzzzznnxxMMM@@@@@@WWMWWWWWMxnn##+i;i..;,..i+++++++###++#####zzzzz#zzz#######znnn
#########zzzzzzzzzzzzzzzzzzzzzzzzzzznnnxxxMM@@@@@@WWWWWWWWMxxn##*;,;:,i:,,i++#+++#+#########zzzzzzzz#######zznnn
z########z####zzzzzzzzzzzzzzzzzzzzzznnnxxxMM@@@@@@@@WWWMMMMMxn#+::,;;,i:,,i++###############zzzzzznn####z#zznnnn
n######################zzzzzzzzzzzzzznnxxxMM@@@@@W@W@@WWMMMxnzz*.,:;i:ii;:i+++################zzzznnzzzzz#znnnnn
xz#########z##########zzzzzzz##zzzzznnnnxxxM@@@@@@W@@@WWWWWxnzM+..:;*;;*iii++##############z##zzzznnzz#zzzzznnzn
Mnnnnnnnnnnnnzzznzzzzznzzzzz##+#zzzzznnnxxxxWWW@@@WWWWWWWWWMnxWn,.:;*iiz*i;++########+#####zzzzzzzzzzzzzzzzznnnn
MMMMMMMMMMMMMMxMMMMxxnzzzzz##++++#zzzznnnxxxMWWW@@WWWW@WWWWMnM@x:,;;**#z*;;++#########+####zzzzz#zz#zzzzzzzznnnn
MMMWWWMMMMMMMMMMMMMMxnzzz##+++***+zzzznnnnnnMWWW@@WWWW@WWWWMnxWMi,;i;*n+*;;++##############zzzzzzzzzzzzzzzzznnnn
WMWWWWWMMMMMMMMWMMMxnnzzz#++****i*#zzznnnnnnxWWW@@WWWWWWWWWxzzMx*,:i:+n*i;i++##############zzzz#zzzzzzzzznnznnnn
MMWWWWMMMMMMMMMMMMMxnnnzz#+*iii***+#zzznnnnzzMWW@@WWWWWWWWMxz#z+i::*:##*;ii+++#############z#zz#zzzzzznzzznzzznn
WWWWWWWMMMMMMMMMMMMxxnnnz#+*iiii*++##zzzzz#++zWW@@WWWWMMWWWx##++*;;*;z+i;ii#+#######z########z##zzzzznnzzznnnnnn
WWWWWWWWWMMMMMMMMMMxxnnnzz#*;;;ii*++#####+ii*+MWW@WMWWxxW@@n+++z*;;+i+*i;i;###############z##z##zzzzznnnnzzzznnn
WMWWnMMMMMMMMMMMMMMMxnxnnz#*i;;;ii+*++++**;;ii#xM@MnxMxxW@Wn++zM;;i+i+*;*ii+####################zzzzznnnnzzznnnn
WMWzixMMMMMMMMMMMMMMxxxxnzz+iii;;i**i*ii;*;;i;iznxxzznxnW@Wz+zMM;;i**#*;+ii#+#####+##############zzznnnnnzzznnnn
MMM;;#xMMxMMMMMMMxMMxxxxnzz#*i*;;;i*;;;i;*;;ii;+######zzxWWz#zxM;;*+++;*+;i#+##############z####zznnnnnnnnnnnnnn
WMz;;*nxnnxxxxxxxxMxxxxxnznzii**i;;i;:;i:i;;*i;+zzzzzz##zxMzzzxMi;****;+*;i################z####zznnnnnnnnnnnnnn
WM*:;iznnnnxxxxxxxMxxxxxnznn*;i*+i:i;:ii:i;;*ii*nxxnnnz##znzzzxMi:ii+ii+*;*#########z#z######z#zzznnnnnnnnnnnnnn
WWz;;;+znnnnnxxxxxxxxxxxxznn*:ii#*;;i:**:;:;*;;i#Mxnznnz##zzzzMMi:ii+;*+i;*###########zz####z###zznnnznnnnnnnznn
Wni;;:*zzzznnzzzznxxxxxxxzzxz;;i+z*;i;**:;:ii;;i*nxnnnnzz#zzzxWx;;i+*;*+i:*##########zzz###z####zznnnzznnnnnnznn
Mi;ii;*++++++++**nxxxxxxxzznni:;iz#ii;i+:;:*i:;ii+znzzzzzznnnMMz:i*#*i**;:+###########zzz##z#z##zznnnzznnnnnnnnn
ni;i*************zxxxxxxxz#nn+:;i#z+;;i+:::+i::i**+zzzzznnnnxWxi:*++iiiii*####+#################zzzzzzzzzzznnnzz
+i*#+*+**++*****+nxxxxMxxz+znzi;i+n#i;;+::;#i::;*+++znnnnnznMM*;:*+**iiznxxn#++#################zzzzzzzzzzznnnnn
+#++********+***+xxxxxxMxz+#nn*;;+nz*:;*::;#*:;;i+###znnnnnMni,::*++#i:#WWWMn++#################zzzzzzzzzzzzznnn
zz#+++**********#xxnxxxMxz*+znzi:*zz+::i;:;#*:;:i*#z####zzz#;::::***z:,:#MWWx+++++++############zzzzzzzzzzzzznnn
nnz#+**++*******nxnxxxxxxz**#zz*:*zz#;:i;::++:;:i**z####+*i:,,:::i*i+,.:;#WMM#+++++++##########zzzzzzzzzzzzzzznn
xn##+***+++**ii*xxnnxxxxxz*i*#z#;izzzi;*i:;#+:;:;*i##*iii:,,,,::,:*:;,::::xxMz+++++++##########zzzzzzzzzzzzzzzzn
nn##+****+++*ii+xnnnxxxxxz*;i+#z*i#nzi;#i;iz+:;:;*i+#+;::::;:,;:::*:,,::,,+xMx+++++++##++########zzzzzzzzzzzzzzn
nnz#+*i********#xnnnxxxxxn*iii*##i*zz**zii*n+:i::*ii#z+*iiii::;:::i:,,::::iMWWz++++++#+++#####z#z#zzzzzzzzzzzzzn
nz###+********+nxnnnxxxxxz*ii**++i;+z+z+i*#n*;i::i*ii#z+*ii;:;;:::;,;::;:::+MWMn+++++++++#####zzzzzzzzzzzzzzzzzz
xnzz#+**+*****+xxnnnxxxxxn*;;i*++*:i#+#**+nni;i::;ii;i++*ii;:;::ii:,:i;:::,;#WWWn++++++######zzzz#zzzzzzzzz#zzzz
xnzz#+**++++**#xnznnxxxxxn+;;;i+#+;;*+#+#zxz;ii::;i;::i*ii;:::;i;i::,;;,::,:*zW@x++++++#########z#zzzzzz######zz
xxz##+++++++++zxnznnxxxxxx#;::;i++*;i+zzzxn#;**::;ii;:::;;:;;ii*+i,:;:;:,,:::*nWM++++++###########z#zzzz######zz
Mxzz#####+++++xxzznnxxxxxxzi;;;i*+*;;*nznxn*;**::;i**;:;;;:ii;;##+;:i:;i;*#z#++nM++++++##############zz#######zz
Mxz##+++++z#+#xxzznnxxxxxxz*;:;;*+*i;*nxxn#ii**:,:;i+*iii;;;::*nnz++++nMW@@@@Wxz#++++++##################+####zz
Mxz#####+#znzxxnzznnxxxxxxn+;::;i**i;+xxxz+i***;,::;*+*i;:::::#xnnnzzMW@@@@@@@@Wn#+*++++################++####zz
Mxnzz######nnxxxzzznxxxMxxn#i:::;iii;*xxn#*i*+*;,:;:;*i;:,::::nMxxxnnnxW@@@@@#@@WWn++++++##############++#####zz
xnnzzzz####zzxxxz#znxxxxxnnz+;,,:ii;:innz#*+##+;:,:::::::;;:,*MMMMxxxnnnxM@@@@@@WMM#+++++##########+++++######zz
xnnnznnzzzzznMxxz#znxxxxxn###*;::;i;:innz+*+##+i:,:::,,::;;;,+MMMMMxxxnnnnxMW@@W@Mxn+#++++++#####+++++++#####zzz
xxxxnxxxnnxxxMxxz+#nxxxxxn#+++i;::;;:innz++###+i:,::::,,:::::*MMMMMMMxxxxnnnnxMMMxxx#nz++#######++++*+++#+##zzzz
MxMMMMMMMxnxMMMxz+#znxxxxn#****;:::::*nnz++###+*;:,::::,,,,:*ixWWMMMMMMMMxxnnnnxxMxMxxn++##+++++#+++++++++##zzzz
MnnxxxxxxxnnMMMxn++znxxxxnz+*ii;::;::#nnn#####+*i::::::,,,::*:#WWWMMMMMMMMMMxxxxnxxxMWx+zzz########+*++++#zz##zz
xnnnnxxxxxnxMxxxxz+#nxxxxnz#+#*i::;;innz#++++++*i;;::,,,,::;::;zWWMMMMMMMMMMMMMMMxxxMWx#xxxnnzzz#++++++++######z
xxnxxnxxxxxxxxnnnz#+#nnnnnz++#+*;:,,;nxnz##+++++*i;:,,,:::,:;::;xz#++znMMMMMMMMMMMMMMWxzxxMMxnzzz###++##++++####
xxxxxxxMMMMMMxnzzz#++zzz##+*ii;::,,,:zxxxxnn#++*i;::::;;::;i::::;,,....:+xMWWMMMWMMMxMxxMxMMMnznnxnnnzz########z
MMWW@@W@@@@@@Wxnnzz++zn#++*ii;;::::;+xxxxxxxxnz#+*iiiii::i+;;;::,,,,,,,..,*MWWMMMxnnnxxnxMMMMxzxxMxxxnnnz##zz###
@@@@@@@@@@@@WWWMMMnznMxnzz#+++##zzzznxxnnznzzznzz#+*iii;;+*+*;:,,::::,,...,;xMMxMxnnxxxnnnxxxxxxxMxz#zMnzz#zzzzz
WWWWWWWWWWWWMMWMMWW@@@@@@WWWMMMxnnnzxMxnnz##+******i*+i:i+z#i:,,::,,..````;zxxxxxxnnxxnnnznnnxxxMMMxnnMxxxznn##z
MMMWMMMMMMMMMMMWWWW@@@@@@WWMxxxnnnnzxWMMxnnz#*i;iiii*;;i*zn+;,:;:,,....,:*xMxxxnxxxnnnnnzznxMMMWW@WMMMxMMMxMnzzz
MMMMMMMMMMMMMMMMMWW@@@@@WWMxxxxnnnnnxMMMMxxxxn#****i;*iizx#i;:;,,,,,,:*znnxxxxxnxnznnnxxzzxMWWxnxMMMMMMMMMMxzzzz
MMMMMMMMMMMMMMMMMMW@@@@@WMMxxxxxnnnnnznzzz###z#ii*ii#+;#xx*ii;:,,,:;+nxxnnnxxxxnnzznxnnnnzMWWMnnMMWWMMWWMMxzzzzz
MMMMMMMMMMWMMMMMMMW@@@@@WMMxxxxxnnnnz###+++##+;;iii*+;*xMz+i;:::;i#nxxxxnznxMxnnnnnnnnnxxnxWWWWWWWWMMWWMxz######
MMMMMMMMMMMMMMMMMMW@@@@@WWMxxxxxxnnnMxnnnzz##+**ii**;*xMn#*i;;;*zxMxxxxxnnxxxnnnnnnxxxxMMnxW@WWWWWMMMMxnz+######
MMMMMMMMMMMMMMMMMWW@@@@@WWMMxxxxxnnnMMxxnzz##+++##*i+xMz#**ii*#xMxxxxxMxxxxnxxnnnznnnnnxxnMWnMMWWMnzz#+++++#####
MMMMMMMMMMMMMMMMMMW@@@@@WMMMMMMxxnnnnz#######++z#**#nnz#+**+zxxxxxxxxxxxMMxnnxxnxxxxnnnnxnMx:;#nn#**++++++#####z
MMMMMMMMMMMMMMMMMMW@@@@@WMMMMMMxxxxnzzzzz##+**++*+zz#zz####nMxxxxxxxxxxxMMxnnxxxxxxxMMxxxnMz,.:*****++++++#####z
MMMMMMMMMMMMMMMMWWW@@@@@WMMMMMMMxnnnxnnz+***+**+#nn##zznxxMxxxxxxxxxxxxMMMxzznnxxnnnxxMMxxM*:,,:;***+++++####zzz
MMMMMMMWWMWWWWWWWWWW@@@@WMMMMMMMxnnnz##++*++*+##nxzznxMMMxxxxxxxxxxxxxMMWWMnnnxMMMxnnnxnnxnii;::.:**+++++###zzzz
MMMMMMWMMWWWWWWWWWW@@@@@WMMxMWWMxxnz######+###zxxxnxMMMxxxxMxxxxxxxxxxMMWWWxxMWWWWWMMxxnzx#iii:;:,:**+++++#####z
MWMMWWWWWWWWWWWWW@WW@@@@WMMxMMMMMxnzzzz#####+#nxMMMMxxxxxxxxxxxxxxxxMMMMWWWMMWWWWWWWWWMnnz**ii;i;:::i****++++###
MMWWWWWWWWWWWWWWWWWW@@@@WMMxMMWMMMnnzzzzzz##zxMMMMMxxxxxxxxxxxxxxxMMMMMMnnzznMWMWz#WWWWx#i;**iii;;;:,i*****+++##
MWWWWWWWWWWWWWWWW@WW@@@@WWMMMMMMMxxnnnnnxxxMMMMMxMxxxxxxxxxxxxxxMMMMWMn+;:::;*;*z*;+nn+;,,;++++*i:::,,ii*****++#
WWWWWWWWWWWWWWWWWWWW@@@@WWMxMMMxxxxnnxxMMMMMMMMxxxxxxxxxxxxxxxMMMMWWx#;,,::;i:,++;,,:,,,,:i++*ii*;:;,.:ii******+
WWWWWWWWWWWWWWWWWWWW@@@@@WMxMMMMMxxnxMMMMMxxMxxxxnxxxxxxxxxxMMMWWWMn*:,::;i;;.;+*.....,:;iii*;;i*ii;:,.;iiiii***
WMWWWWWWWWWWWWWWWWWW@@@@WWMxMMMMMMxxxxxxxxxMxxxxxnxxxxxxxMMMMWW@Wxzi:,:;;;;;,.;+*,..,,;i*++iii**iiiii:,,;iiii***
WMWMWWWWWWWWWWWWWWWW@@@@WWMxMMMMWMMMMxxxxxMxxxxxxxxxMMMMMMMWWWMxxzi:,:ii::;;,.:+*;..,,;+##+**++*iii**;:,,;iiiii*
WWWWWWWWWWWWWWWWWWWW@@@@WWMxMMMMWMMMMMxxMxxxxxxxxxxMMMMMMWWWMnznz*::i+*:::;:,.:#;;..,:;*####++++++*i**i:,:;iiiii
WWWWWWWWWWWWWWWWWWWW@@@@WWMxMMMMWMWMMMMMxxxMMxMMMMMMMWWWWWWMnz#z*;;*#+i:::::..*+,;,,:i;,;#zzz##+++***i*i;::;iiii