####+++*i;::;iiiiii;;;iiiii;;;;;;;;:::,,:::::;;iiiiiiiii**+++++#######zzz#####++++++++########zznxxMMMMxnz#+**iiiiiiiiiii*****iii***+##zzzzzzz#####znn
####++*i;:::;;iiii;;;;iii;;;;;;;:;;::,,,,::::;;iiiiiiiii*++++++###############++++++++########zznnxMMMMxnz#+*iiiiiii;iiiii**iiiiii**++##zzzzz######zzn
####+*ii;::::;;;ii;;;;;i;;;:::;::::::,,,,,:::;;iiii;ii**++###################+++++++++#########zznxMMMxnn#++*ii;;;;;;;iiiiiiiiiiiii**+##zzz#####+###zz
####+*i;:,,,:;;;;;;;;;;;;;::::::::::,,,,,,:::;;iiiii*#zznzzznnzzznzzz########+++++++++#########zznnxMMxnz#+**i;;;;;;;;;;;;iiiiiiiii**++#########++###z
####+*;::,,,::;;;;;;:;;;;:::::;:::::,,,,,,::;;;ii*#znnnxxMxxxxnnnnnnnnzzz###+++++++++##########zznnxMMxnz#+**i;;;;;;;;;;;;;;;iiiiiii*++#########++++##
zz##*i;::,,,::;;;;;;:;;;;::::;;:::::,,,,,,::;;ii*#nnxxnMMMMMxMMxMMxnnxnnnzzz##+++++++###########znnxMMxnz#+*ii;;;:::::;;;;;;;;;;iiii*++########++++++#
#z#+**;::,,,::;;;;;;;;:;;:::::;::::,,,,,,,:;;i*#zxxxxxxxMMMMMMMMMWWWWMMxxxxxxn#+++++############zznxMMxnz##+*i;;::::::::;;;;;;;;;iii*+++++#####+++++++
###+**i;:,,,:;;;;i;;;::;;::::;;::::,,,,,,::;i*znnnxMxxxxxxMMMMMMMW@@@WWMMMMMxxz#++++############zznxxxxnnz#+*i;:::::::::;;;;;;;;;iii*+++++#####++****+
###+**i;:::::;;;;ii;;:;;;::::;;;:::,,,,,,:;i*zxxxxnxxxxMxxMMMMMMMWW@WWWWWMMMMMxn#++++###########zznxxxxxnz#+*i;:::,,,,::;;;;;;;;;iii*++++++###+++*****
#zz#++*i;;:;;;i;iiii;;;;;;;;;ii;;::,,,,,::;+nMMxxxxxxxMMMMMWMMMMMWWWWWWWWWWMMMMxn###+###########zznnxxxxnnz#+*i;::,,,,:::;;;;;;;;ii**+++++++++++******
zzzzz#+*ii;iii*ii**iiiiiii;;i**i;;:::::::;*zxMMMMxxMMxMMWMMWWWWWWWWWMMMMWWWWWWMMMn#+############zzznnxxxnnnz+*i;::::::::;;;;;;;;;ii**+++++++++++******
znnnnnz#+****++**++*******i**++*ii;;:::;;i#xxxxxMMMWWWWWWWWWWWWW@@@WWWMW@WWWWWMWMMnz############zzznnxnnxxnn#+*i;:::::::;;;;;;;;iii**+++++++++++***i**
nnxxxxnzz#++##z####++##+++++####+**iiiii*+xxxxxMMMW@@@@@@@WWWW@@@@@@@WW@@@@@@@WWWWWxnz##########zzznnnnnxxxxz#+*i;;;::;;;;;;;;;;iii**++++++++++++*****
xxMMMMMxnzzznnnnzzzzzzzzzzzzznnz##+*****+nMxxMWWWWW@@@@@@@@WWW@@@@@@WW@@@@@@@@@@@@WMxnzzzzz#####zzznnnnxxxxxnz#+*ii;;;;;iiiiii;;;ii**++++++++++++****+
MMMWWWMMxxxxxxxxxxxxxxnnnxxxxxxxnzz#####zxxxMMWWW@@@@@WWWWWWWWWWWWMMMMWWWWWWWWW@@WWWMnnnnzzzzzzzzznnnxxxxMMMxnz#+**iiiiiiiiiiii;;ii*++++++++#+++++++++
WWWWWWWWWWMMMWWMMMMMMMMMMWWWWMMMMxxnnxnnxxMMWWWW@WWWMxzzz#zznnnnz#++++#zznnnxxxMMWWWWMMxxnnnnznnnnnxxxxxxMMMMMxnz##++********iiiii**++###+#######+++++
MMWWMMMMMWWWWWWWWWWWWWWWWWWWWWWWWMMMMMxxxMMMWWWWMxnz#*;;;;;;;i**i;;;;;ii***++#znnxMWWWWMxxxnnnnnxxxxxMMMMMMMMMMxnnz###++++++*******++########zz#######
MMMMxMMMMMMMMWWWWWWWWWWWWWWWWWWMWWWWWMxMMMMMMMMxz+i;:,,,,,.,,,:::,::::::;;;;ii*+#zxMWWWWMMxxxxxxxxMMMMMMMMMWWWWMxxnnzz#####+++**+++###zzz#zzzzzzzzzzzz
xxxxxnxxxxxMMMMMMMMMMMMMMWWMMMMMMMMMMMMWMWMxn#+i;:,...........,,,,,,,,,,::::::;;i*#nMWWWWMMMMMMMMMMMMMMMMMMMWWWWMMxxxnnnzzzz#######zzzzzzzzzznnnnnnnzz
nnxxnnnnnnxxMMMMxxxxxxMMMMMMxxxMMMMMxxMMMMn+i;:,...............,,,,,,,,,,,,,,,:::;i+nMWWWWxMMMMMMMWMMMMMMMMMMMWWWMMMMxxxnnnnnzzzzzzznnnnnnnnnnnnnnnnnn
nnnnnnzzzzznxxxxxxxnxxxxxxMxxxxxxxxxnMMMMn*;,,...............,,,,,,,,,,,,,,,,,,,,::;+nMWWWxMMMMMMMWMMMMMxxxxMMMMWWWWMMMMxxxxxnnnnnnnxxxnnnnnnxxxxxxxxx
nnnnzzz####znxxxnnnnnxxxxxxxxxxxxxnnxMMMz*,,................,,,,,,,,,,,,,,,,,,,,,,::;+nMWWMMMMMMMMMMMxxxxxxxxxMMMMWWWWMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxx
nnnnz######znnxnnnnnnnxxxxxxxnnnnnnnxMWn*:,.................,,,,,,,,,,::,,,,,:,,,,,,:i+xWWWMMMMMMMMxxxnnnnnnnxxMMMMWWMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxx
nnnzz##+####znnnnnnznnxxxxxxnnnnnnnxMMM+:,.....`...........,,,,,,,,,:::::::::::::,:::;i#xW@WMMMxxxxxnnnnzzzznnxxxMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxMxx
nnnzz######zznnnnnnnnnnnxxxnnnnnnznMWWn;,,...............,,,,,,,,,,:::::::::::::::::,::*zMWWMMxxxxxnnnnzzzzznnnxxxMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
nnnnzz#####znnnnnnnnnnnxxxxnnnnnznxMWM#:,................,,,,,,,,,:::::::::::::::::::,:;#xMWMxxxnnnnnnzzzzzzznnxxxMMMMxxxxxxxxxxxxxxnnnnnnxxxxxxxxxxxx
nnnnnnz###zznnnnnnnnnnxxxxxnnnnnznxMMni,,.............,,,,,,,,,,,,:::::::::::::::::::,:;*zxMMxxxnnnnnzzzzzzzznnxxxxMMxxxxxxxxxxxxnnnnnnnnnnnnxxnnxxxnn
xnnnnnzzzzznxxxxxxxxxxxxxxxxnnnnznxxx+;,.............,,,,,,,,.,,,,,,::,,,:::::::::::::::;+nxMMxxnnnnnzzzzzzzznnxxxxMMxxxxxxnnnxnnnnnnnnnnnnnnnnnnnnnnn
xxnnnnnnnnnxxxxxxxxxxxxxxxxxxnnnnxMxn*:,,......,.,,,.,,,,,.....,,,,::,,,,,,,::::::::::::;*zxMMMxnnnnnnzzzzzznnnxxxxMMxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnn
xxxxxxxxxxxxxxMMMxxxxxxxxxxxxxnnnMMxzi:,,......................,,,,,,,,,,,,,,,:::::::::::i#nMMMMxnnnnnnzzzzznnnxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnn
MMMMMMMMMxxxxMMMMMMMxxxxxxxxxxnnxWMx#i:,,.....................,,,,,,,,,,,,,,,,:::::::::::;+zxWMMMxnnnnnnnnnnnnxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnxxxnnnnn
MMMMMMMMMMMMMMMMMMMMMMMMMMxxxxnxMWMn+;,,,......................,,,,,,,,,,,,:,,,,:::::::::;*zxMMMMxxnnnnnnnnnnnxxxxMMMxxxxnnnnnnnnnnnnnnnnnnnnnxxxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxWWMn*;,,,,.....................,,,.,,,,,,,,,,:,,,::,:::::;i#xMMMMMxxnnxxnnnnnnxxxxMMMxxxxxnnnnnnnnnnnnnnxxxxxxxxxxxxxx
WWMMMMMMMMMMMMMMMMMMMMMMMMMMMxxMWWxz*;,,,,...................,,..,,,,,::;;;iiiiiiii;::::::i+nMMMMMMxxxxxxnnnnxxxxxxxxxxxxxnnnnnnnnnnnnnxxxxxxxxxxxxxxx
WWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxMWWxz*;:,,,,.............,,...,,.,,,,::;*+#zzzzzz###+*;::::;*zMWWMMMMxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnxxxxxxxxxxxxxxxx
WWWWWWWWWWWWWWWWWWWWWWWWWWMMMxMWWWxz*;:,,,,,.......,::::,,,,...,,,::;i+#znxMMMMxnzzzz#*;::;i#xWWWMMWxxxxxxxxxxxxxxxxMxxxxxxnnnnnnnnnxxxxxxxxxxxxxxxxxx
WWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWWWx#i::,,,,,.,,:;i*###++*;::::::::;;*++znxMMMMMxxnnzz##*i;;;*nWWWWWWMxxxxxxxxxxxxMMMMMMxxxxxxxxxxxxxxxxxMMMMMMMMMMMMMM
@@@WWWWWWWWWWWWWWWWWWWWWWWWWWMWW@Wx#i;:,,,,,:;i+#znxxnnzz+i;:;::::;i*+#znnxxxxnz##++++++*i;;i#xWWWWWMxMMMMxxxxMMMMMMMMMMxxxxxxxxxxxxxxMMMMMMMMMMMMMMMM
@@@@@@@@@@WW@@@@@@@@@@@@WWWWWWW@@Wx#i:::,,:;i*#znxMxMxxnn#+i;;;;;;ii++##zzzzzz#+*******++*;;;*nMWWWWMMMMMMMMMMMMMMMWWMMMMMxxxxxxxxxxMMMMMMWWWWWWWWWWWW
@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@Wn+;:::,,i*i+#nxxMxxnnnz#+*ii;;;ii*+###zzzzz#++**********i;;;+xWWWWWMMMMMMMMMMMWWWWWWWMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWW
@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWW@@Wn+;::,:;*+*#zzzzzzzzzz###**i;;;ii*+#zznnnzz####+++******i;;;izWWWWWMWWWWMWWWWWWWWWWWWWMMMMMMMMMMMMWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@Wn*::::;i**+++++###zzzzzz#+*i;;;;i*+znnnnnnnnnnnnzz#+++**i;;:;*MWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWMMMMMMMMWWWWMMMW@@Wzi:::;********++##zznnnnz#*;:::;i*#nnxxxMMMn###zxxxnz#+*ii;::inWWWMWWWWWWWWWWWWWWWWWWMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMMMMMxxxxxMMMMMMMMW@@Wzi:::i*ii****+++##znnnnnnn+;,,,:;*#nnxMMWMxxnnnzzzxxnz#+i;;;:;zWWWWMWWWWWWWWWWWWWWWMMMMMxxxxMMMMMWWWWWWWWWWWWWWWWWWW
MMMMMMMMMMMMMxxxxxxxxxxxxxxxxxW@@W#;,::**i***++####zznxxMxxn+;,.,:;*#znxWWWWWWWWWMMMxxxz#*i;;;:;#MWWWMMMMMMMMMMMMMMMMMMxxxxxxxxxMMMMMMMMMMMMMMMMMMMMMW
MxxxxxxxxxxxxxxnnnnnnnnnnxxxxnMWWW#;::;iii**+#znz#+#zzxMMMxn+;,..,;*+#znMWMxMWMxnznnnzz##+*i;;;;+xWWWMMMMMMMMMMMMMMMxxxxnnnnnnxxxxMMMMMMMMMMxxxxxxxMMM
xxxxxxxxxxxxnnnnzzzzzzzznnnnnnxWWM+::,:ii*++#nnz+#zxxMMMMWx#*;,..,:i**+#nnnzz#+************i;;;;*nMWWWMMMMMMMMMMMMMxxxnnnnnnnnnnxxxxMMMxxMxxxxxxxxxxxM
xxxxxxxnxxxnnnnzzzzzzzzzznnnnnxWWM+::::;i*+#zxz#nMW@@WWxxWx+i:...,:;i**+###++**iii***i;;;;;;;;;;izMWWWWMMMMMMMMxxxxxxnnnzzzznnnnnxxxxxxxxxxxxnnnnnnxxx
xxxxxxnnxxxnnnzzzz###zzzzznnnnnMWM#::::;ii+znnnMMxMMMMxnnz+*;:.`..:;iiii*#zz##+++##+*i;:::::;;;;izMMWWMxMMMMMMMMMxxxnnnzzzzzzznnnnnnxxxxxxxxnnnnnnnnxx
xxxxxxnxxxxnnnzzzzzzzzzzzznnnnnMWW#:::::;i+znnxn#+++++###+*i:,.`.,:;iii;;i*++###++i;::,::::::::;i#xWWWnnMxMxMMMMMxxxnnzzzzzzzznnnnnnxxxxxxxnnnnnnnnnxx
xxxxxxxxxxxxnnnzzzzzzzzzznnnnnnMWW#:,:::;i+zz+*i;ii*++###+i::,.`.,:;;ii;;;;;;;i;;:,,,,,,,,:::::;i+xWWWnzxxMxMMMMMxxxnnzzzzzzzznnnnnnxxxxxxxnnnnnnnnnxx
xxxxxxxxxxxxnnnnzzzzzzzzznnnnnnMWW#:::::;i*i;;;i**+##z#+*;,::,.`.,:;;iii;;;:::,,,,,.,,,,,,:::::;i+xWMMnzxxMxMMMMMxxxnnnzzzzznnnnnnnnxxxxxxxxnnnnnnnnxx
xxxxxxxxxxxxxnnnnnnnznzzznnnnnzxWW#:,,:::::::;i*+###++i;:,,,:,.`.,:;;iii;;;::,,,,...,,,,,,:::::;i+xWMnnznxxxxxxxxxxxnnnnzzznnnnnnnnnnxxxxxxxxxxnnnnnxx
xxxxxxxxxxxxxxnnnnnnnnnzznnnnnnxWM#;::,,,,,,,,:;;;;;;:,,,,,,,,.`.,:;;ii;;:::,,,,,,,,,,,,,,:::::;i+xWn+z#nxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnxxxxxxxxnnxxx
xxxxxxxxxMMxxxxnnnnnnnnzznnnnnznMM#;:,,,,,,.....,,,,,,,,,,,,,,...,::;;;;;:::,,,,,,,,,,,,,,:::::;i+xWz;++zxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnxxxxxxxnxxx
xxxxMMMMMMMMMxxxxxxnnnnnznnnnnznMM#;:,,............,,,,,,,,,,,...,,::;;;;;;::,,,,:,,,,,::,::::;;i*xW#;*+#nxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnxxxxxnnnnx
MMMMMMMMMMMMMMxxxxxxnnnnnnnnnnnnMMz;:,,,............,,,,,,,,,,...,,:::;;;;;;;::,::,::::::::::;;;i*nM#ii++nxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnxxxxnnnnn
MMMMMMMMMMWMMMMMMMxxxxnnnnnnnnnnnMzi:,,,...........,,,,,,,,,,,...,,,,::::;i**i;;::::::::::;::;;;i*#z#+i**zxxxxnxxxxnnnnnnnnnnnnnnnnnnzzznnnnnnnnnnnnnn
WWWWWWWWWWWWWMMMMMMMxxxxnnnnnnnnnMni:,,,.........,,,,,,,:::,,,..,,,,,::::::*+#+*;;;::::;;;;;:;;iii*+##ii*znnnnnnxnnnnnnnnnnnnnnnnnzzzzzzzzzznnnnnnnzzz
WWWWWWWWWWWWWWWWWWMMMxxxxxxxxxnnzMxi:::,........,,,,,,::;;:,,...,,,:::::,,:i+#nz+ii;;;;;;;i;;;;i**i;+#*i*#xnnnnnnnnnnnnnznnnnnnzzzzzzzzzzzzzzznnzzzzzz
@@@@@@@@@WWWWWWWWWWWMMMMxxxxxxxnzMM*:::,,....,,,,,::::;i*i,..,.,::::;;;;;;;*#+#nx#**iiiiiiiii;;i**;;+#i;*#nnnnnnnnnnnzzzzzzzzzzzzzzz#######zzzzzzzzzzz
@@@@@@@@@@@@@@@@@@WWWWMMMMMMMMxxzxM+;::,,,.,,,,,::::;i*#+;..,,,:;;;;i*****+++++#nn#+*iiiiii*i;;i**;i##i;i#nnnnnnnnnnzzzzzzzzzzzzzzzz##########zzz#####
@@@@@@@@@@@@@@@@@@@@@WWWWWWMMMMMz#xz;::,,,,,,,::::;ii+##+;,,:;:;i***+#zznnnz+**+#nnz+********iii**;i*i;;i#nnnnnnnnnzzz###################+############
##########@@@@@@@@@@@@@@@WWWWWWMzi+ni;:,,,,,,:::;;i*+zz#*;;i*+**+####nxMMxn#+**++znnz+++**++**ii*ii;;:;iiznnnnnnnnzzz################++++++++#########
###################@@@@@@@@@@@WWn;i#i;::,::::::;;i*+zn#*i;*#nxnzznnnnxxxxnz#+***+#znnz+++++++**i*ii;;::i*znnnnnnzzzzz######++##++++++++++++++######+##
#######################@#@@@@@@@Mi;**;;::::::;;;i*+znz+i;;i+xWWxxxxxxnxxnz#+*****+#znn#++++++**iii*ii::;+nnnnnzzzzzzz#####+++++++++++++++++++++#######
########################@#####@@W*:i*i;;:::;;;ii*+#nn#i;::;i+znxxxMMxxnn##**iiii*++##zz+***+++**iiii;::;#nnnnzzzzzzzz######++++++++++++++++++#########
###############################@@#::*ii;;;;;;ii*+#znz+i;:::;i+#nxMMMxxnz+*iii;iii*+++#z+*i*+++****i;;;;*znnnzzzzzzzzz#######+++++++++++++++++#########
################################@z:,:;i;;;;iii*+#znz#*i;:::;;i+#nnnnnnz#+**iiiiii*+###z#*i**++****+*i**#znnnzzzzzzzzz########+++++++***++++++#########
################################@n;,,:i;;iiii**+#nn#+i;;::,:::;i**++++++########++####zz****++***+zz##zznnnzzzzzzzzzzzzzzz###++++*********+++#########
#################################xi,,:;;;i**i**+#nn#*i;::,,,,:;i**+++#zznxxxMMMxxnzzz#z#***++****+znzzznnnnzzzzzzzzzzzzzzzz##+++**********+++#########
#################################W*,,,;;;i**ii*+znz+*i;::,::i**#zzzzznxxMMMMMWWWWWMxzz#+**+++****+zzzzzznznzzzzzzzzzzzzzzzz##+++**********++###zzzzz##
#################################@z:,,:;;i**ii*+zz+**i;;;*+#zznnxxxxxxxxnnnnnxW@@@@@Mn#+***++++++#zzzzzznnzzzzzzzzzzzznnzzzz##++*********+++##zzzzzzzz
##################################Mi::;;;i**iii+z#+++**+znnxMMMxxxxxnzzz##z##nM@@WMMnz+****++++++#zzzzzznnzzzzzzzzzzzznnzzzz##++*****++++++##zzzzzzzzz
##################################@n***i;i**i;i*#+*#zznxMWMxMxnn###z#####++**#xWMnzzz#+***++++++#zzzzzzznnnzzzzzzzzzzznnzzzz##++++++++++++###zzznnnnnn
###################################@xxx#ii**i;ii+++nMW@@@Wn*+**+ii+#+*i+i;i;i#nnz++++++*+++++####zzznnnnnnnnzzzzzzzzzznnzzzz##+++++++++++###zznnnnnnnn
####################################@@@x*i**i;;i*+zxMMMW@W#;;::;::;*i::i;:ii*zzz+***++++++++####zznznnnnnnnnnzzzzzzzzznnnzzz##+++++++#####zzznnnxxxxxx
#######################################W#i**ii;;i*znnz#znx#;::,,,,:;:::;:;#z####******+++++#####znnnnnnnnnnnnnzzzzzzzznnnnzz###+++#######zzznnnxxxxxMM
#######################################@n***iiiii*+#+*ii*++i**;;:::::::*znz#++++*******+####zzzznnnnnnnnnnnnnnnzzzzzzznnnnzzz#########zzzzznnxxxxMMMMM
########################################M+***iii**++i;;;;;;;*##+iii***+##+***+++****+*++####zzz#nnnnnnnnnnnnnnnzzzzzzznnnnzzzz######zzzzznnnnxxxMMMMMW
########################################@z********+*i;;:;;:::;;ii**+****iii*+++******++###zzzzz+nnnnnnnnnnnnnnnnzzzzzzznnzzzzz###zzzzzznnnnnxxxMMMMWWW
#########################################W+++**+++**i;;;:;;;:::;;iiiiiii**++#++***i*+++##zzznz#*nnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzznnnnnxxxxxMMMMWWW
##########################################n+++++++**i;;;;;iiiiiiii****+++####++****++###zzznnz+iznnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzznnnnnnnxxxxxxMMMMWWWW
##########################################W####+#++**i;;;;ii**++#######zzzzz#++****+####znnnn#iiznnnnnnnnnnnnnnnnnzzzzzzzzzznnnnnnnnxxxxxxxMMMMMMWWWWW
##########################################@M######+**i;;;;;i+#znnnxxxxxxnnzz##++*+#####zznnnz+iiznnnnnnnnnnnnnnnnzzzzzzzzzznnnnnxxxxxxxxxxMMMMMWWWWWWW
###########################################@x##z##+**ii;;;ii*#znnnnxxxnnnnzz##++*+####zznnnn#*iizxnnnnnnnnnnnnnnnzzzzzzzzzznnnxxxxxxMMMMMMMMMMWWWWWWWW
############################################Wnzzz##+***iiiii+##zznnnxnnnnzz##++++###zzznnnnn#iiizxxnnnnnnnnnnnnnnzzzzzzzzzznnnxxxxMMMMMMMxMMMMWWWWWWWW
#############################################Mzzzzz++***iii**++#zznnnnnzz###++**+#zzzznnxxn#+iiizMMMxxxxnnnnnnnnzzzzzzzzzzznnnxxxMMMMMMxxxMMMMWWWWWWWW
#############################################M##zzz#+****ii***+###z#####+++***i*+#zzznnnxnz+*iiizMMnnxMMxxxnxnnnzzzzzzzzzzznnnnxxxxxxxxxxxxxMMWWWWWWWW
#############################################W++zzz##+****iii**********iiiiiiii*##znnnnxxn#+*iiiz@Wz+zWWWMxnxnnnnzzzzzzzzzznnnnxxxxxxxxxxxxxMMMWWWWWWW
#############################################@#;+zzzz#+**ii;;;;:::::;;;;:;;;;i*+##znnnxxnz#+*iii#@#Wn**x@WMxnnnnzzzzzzzzzzzznnnnxxxxxxxxxxxxMMMWWWWWWW
############################################@@#;i#zzzz#+*ii;;::,,,::::;;:;;;i**+#znnxxxnzz#+**ii#W#@xi,+W@WMxxnnnzzzzzzzzzzzznnnnxxxxxxxxxxxMMMWWWWWWW
###########################################@@Wz;;*#nnzz#+*i;;::,,,:::;;;;;;ii*+#znnxxxnzz#++**ii+M@@M*,;x@@WMxnnnzzzzzzzzzzzznnnnnxxxxxxxxxxMMMMWWWWWW
#########################################@@WWWn;;i*#nnzz#+*i;:::::;;;ii;ii**+#zznnxxxnnz##++**ii*nW@W#::#@@@WMxnzzzzzzzzzzzzzznnnnxxxxxxxxMMMMMMWWWWWW
########################################@WMMW@ni;ii+#nnnz#+*i;;;;;iiiiii*+++#znnxxxxnnzz#++***iiizW@@ni;*W#@WWMnnzzzzzzzzzzzzzznnnxxxxxxxxMMMMMMMMWWWW
########################################@MMW@M#;;;i*+#znnz#+*iiiii*+++*++##zznnxxxxnnzzz##+***iii#M@@x*iiM##@WMxnnzzzzzzzzzzzzzznnnxxxxxxMMMMMMMMWWWWW
#######################################WMMW@x*+i;;ii*+#zznzz#+**++######zznnxxxMMxnnzzzzz#++***ii+nW@M+**n@@@@WMxnnzzzzzz###zzzzznnnxxxxxxxMMMMMMMMMMM
######################################@MMW@x**#+:;;i*++#zzznzzz#zznnnnnxxxxxMMMMxnnzzzzzz##+***ii*zM@M#++n@@@@WMxxxnzzzzz#####zzzznnnnnxxxxxxxMMMMMMMM
#####################################@WMMWW+:#x#:;;i**+##zzznnnnnxxMMMMMMMMMMMMxxnnnzzzzz#++****i*zxWx##+nW@@@WWMxxxnzzzz#####zzzzznnnnnnnxxxxxMMMMMMM
#####################################@MMW@x::#Mz;;;ii*++####znxMMMMWWWWWWWWWWMMxxnnzzzz###+******+zxMxzz#xW@@@WWMxxMxnzzz#######zzzzzzznnnnnnxxxxxMMMM
####################################@WMMW@#,:zM#;;;ii*++#####znMWWWWWWWWWWWWMMxxxnnzzz###++******#zxMxxnzM@@@@@WWMxMMxnzz########zzzzzzzzzznnnxxxxxMMM
####################################WMMWW@+,;zx#;;;ii**+#####zzxMWWWWWWWWWWMMMMxxnnzzz###+******+#nMMMxxnW@@@@@WWMxMMMxnzz#############zzzzznnnxxxxMMM
##################################@WMMMMWW*i+nn#;;;;ii*+######znxMWWWWWWWWMMMMxxxnzzz####+*****+#znMMxnnnW@@@@@WWMMxMMMxxxzzzz###########zzzznnnxxxMMM
#################################@WMMMMWWWi:inxzi;;;ii**+##++#znxMMWWWWWWMMMMMxxnzzzz###+++****+#znxxxnnxW@@@@@WWMMxMMMMMMxnnnnzzzzz#####zzznnnxxxxMMM
###############################@WMxMMMMWWW*i+xMni;;;iii*+++++#znxxMMMWWWMMMMMxxnnz######++****++#zxxnzznM@@@@@@WWWMxxMMMMMMnnxnnnzzzzz##zzzznnnxxxMMMM
##############################@WMMMMMMWW@@z#zxMxi;;;iii**++*++#znxMMMMMMMMMMxxnnzz#####++****++#znxz+**zM@@@@@@@WWMMMMMMMWMxxxnnzzzzzzzzzzznnxxxxMMMMW
#############################@WMMMMMMMWW@@n#nMMn*;;;iiii******+#znxxMMMMMMMxxxnzz#####+++***++#znxxn#**#xW@@@@@@WWMMMMMMWWWxxxxnnnzzzzzzzzznnxxxMMMWWW
############################@WMMMMMMMMWW@@n#zxxz+;;;;iiii**i***++#nnxMMMMMxxnnzz###+++++++*++##znxMxnz#zx@@@@W@@WWMMMMMWWWWMxxxnnnnnnzzzzzzznnxxMMMWWW
###########################@WMMMMMMMMMMW@@xzznnz#i;;;;iiiiiiiiii*+#znxxxxxxnnzzz###++++++++++#znxx#ii+z+n@@WW@@@WWWMMMMMWW@WMMMxxxxnnnnnnnnnnnxxxMMWWW
##########################@WMMMMMMMMMMWW@@Mn##zzz+;;;;iiiiiii;;ii*+#zznnnnnnzzz###++++++++++#zznxz*;:i+*z@@@WWW@WWWMMMMMWW@WMMMMxxxxxxxxxxMMMMMxxMMMWW
##########################WMMMWWWMMWMMWW@@Wz++#znzi;;;;iiiiii;;;ii*++#zzzzzzzz###++++++++++##znxn#i;;;**z@@@WWW@WWWWWMMMWW@WWMWMxxxxMMMMMMMMMMMxxxMMMM
########################@WMMMWWWWWWWMWWW@@W#*++#nx+i;;;;iiii;;;;;ii*++##zzzz#####+++++++++##znxx#*;:;;+#x@@@WWWWWWWWWMMMWW@@WWWMMMMWWWWMMMMxxxxxMMMMMM
########################WMMMMWWMWWWWWWWW@@W#****zxz*i;;;iiii;;;;;ii*++###########+++++++++##znxz+*;:;;*zM@@WWWWWWWWWWWMMWW@@WWWWWWWWWMMMMMMMxxxxMMMMMx
######################@WMMMMMWWWMWWWWWWW@@W#**ii+xx#*i;;;i;;;;;;;ii**++##########++++++++##znxn+#*;;;;;nW@@@WWWWWWWWWWMMWW@@@WWW@WMMMMMMMMMMMxxxMMMMMx
####################@WMMMMMMMWWWWWWWWWWW@@Wz*i*ii#xn#*i;;iiiiiiii****+#####z#####+++++++##znnxzzz++*i;*M@@@WWWWWWWWWWWWMMW@@@WWWWMMMMMMMMMMMMMMMMMMMMM
##################@@WMMMMMMMWWWWWWWWMWW@@@@x*ii;:*zxn+*iiiiiiiii****++#####z#######+++++##znxxnz#+#+i;zM@@@WWWWWWWWWWWWWWW@@@@@@WMMMMMMMMMMMMMMMMMWWMM
#################@WMMMMMMMWWWWWWWWWWWWWW@@@M+;;:,;+xxz+**iiii****++++####################znxxnz####+i*xW@@WWWWWWWWWWWWWWWW@@@@@@WWWMMMMWWMMMMMMMMMWWMM
##############@@WWMMMMMMMMWWWWWWWWWWWWWW@@@@#;:,,,;#xxz#+******++++#########zz##########zznxxxxz#zz+*#xW@@WWWWWWWWWWWWWWWW@@@@@@@WWWWMMMWWMMMMMMMMWWWW
##########@@@@@WMMMMxMMMMWWWWWWWWWWWWWWW@@@@ni,,,,:*nMnz#++***++++###zzz#zzzzzzzzz####zzznnnxxnnnn#++zM@@@WWWWWWWWWWWWWWWW@@@@@@@@WWWMMMMWMMMMMMMMWWWW
@@@@#@@@@@@@@@WWWWMMMMMWWWWWWWWWWWWWWWWW@@@#M*,.,,:zxMMnz##+++++####zzzzznnzzzzzzzz###zznnnzxMnnnnz#zxW@@@WWWWWWWWWWWWWWWW@@#@@@@@WWWMMMMMMMMMMMMMWWWW
@@@@@@@@@@@@WWWWWWMMMWWWWWWWWWWWWWWMWWWW@@@#@n;.,;#nzzMxxnz###+####zzznnxxnnnnzzzzz##zznnn#nxzznnnzznM@@@@WWWWWWWW@WWWWWWWW@@@@@@@WWWWMMMMMMMMMMMMMWWW
@@@@@@@@@WWWWWWWWMMWWWWMWWWWWWWWWWWWWWWW@@@##M*,,iz**+nxMnnz#######zzznnnxnnnnzzzzzzzznnn#nMMxnnnnnxMW@@@@WWWWWWWWWWWWWWW@@@@@@@@@@WWWMMMMMMMMMMMMMWWW
WWWWWWWWWWWWWWWWWMMMWWWWWWWWWWWWWWWWWWWW@@@#@@z:,i#i#nnxxxxnzz#####zzzznnnnnnzzzzzzzzznn#xWMMxxMnnnxW@@@@@WWWWWWWWWWW@@W@@@@@@@@@@@WWWMMMMMMMMMMMMMWWW
WWWWWWWWMMWWW@@WWMMMMWWWWWWWWWWWWWWWWWWW@@@#@@M*,;+*#Mnxnxxxnzz######zzzzzzzzzzzzzzzzzn#zW@@MxxMxxxM@@@@@@WWWWWWWWWWW@@@@@@@@#@@@@@WWWWMMMMMMMMMMMMWWW
WWWWMMMMMMWW@@WWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@n::**zMMMx#nxxnzz#####zzzzzzzzzzzzzzzzz#zW@#@@MMWxMMW@@@@@@WWWWWWWWWW@@@@@@@@@#@@@@@@WWWMMMMMMMMMMMMMWW
MMMMMMMMMMW@@@WWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@W*;**nx@@W#+zxxnz######zzz##zzzzzzzzz##zW@@@@@@MWxWW@##@@@@@WWWWWWWW@@@@@@@@@@@@@@@@@WWWMMMMMMMMMMMMMWW
MMMMMxMxMW@@@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@x++izx@##Wn#i*+zz#####zzzzzzzzzzzzz#zM@@@@###@WMMW@#@@@@@@@WWWW@@@WW@@@@W@@@@@@@@@@@WWWMMMMMMWWWMMMMWW
MMMxxxxMM@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@W@@@WM#i+x@##@WWxn+*+#####zzzzzzzzznzz##M@#@@@###@WxMW@#@@@@W@@WWWWW@@W@@@@@@@@@@@#@@@@@@WWWWMMMMMWMMMMWWW
xxxxxxMMW@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@W@@@@@n;+n@###@MWWMn++####zzzzzznnnzz#nM@@@WW@###@WM@@##@@@@WWWWWWWW@@W@@@@@@@@@@@@@@@@@@WWWWWMMMMWMMMMWWW
xxxxMMMW@@#@WWWWWWWWWWWWWWWWWWWWWWWWWWW@@@@@@@@@@@W++zW@#@zi*nxxn+#####zzzzzzznz#zW@@@@WW@#@#@W@@##@@@@@WWWWWWWWW@@@@@@@@@@@@@@@@@@@@WWWW@WMMMMMMMMMWW
xxxMMMW@@@@@WWWWWWMWWWWWWWWWWWWWWWWWWWWW@@@W@@@@@@Wn+#x@#Wzi:*xxxz########zzzzzznM@@@W@@@@@@#@W@@###@@@@@WWWWWWWWW@@@@@@@@@@@@@#@@WMMMMW@@@WMMWWWWMWWW
xMMMMM@@@@@WWWWWMMWWWWWWWWWWWWWWWWWWWWWWW@@W@@@@@@@Mz#zW#@M#**xMMMxnz#####zznnnnxW@@@WW@@@####@@###@@@WWWWWW@WWW@@@@@@@@@@@@@@@@@@WWWxxM@@@WWWWWWWWWWW
MMMMWW@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWW@WW@@@@@@@@WnzW#@@x+zWWMMxxn#####zzzzzznMMWMnxW@@###@@@##@@@@WWWWWWW@WW@@@@@WW@@@WW@@WWWW@@#@MxW@@@@WW@@WWWWW
MMMMW@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@WW@@@@@@@#@Wn@#@@WxxMWWMMMxz###z#zzzzzxxxWWMW@@@@@@@#@#@@@@WWWWWWWWWWW@@W@@@@@@@WW@@@@@@@@##WxW@@@@@WW@@@WW@
WWWW@@##@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@@WW@@@@@@@@#@M@@WMMnzzMnznxnzzz###zzz#znxM@WMWWWW@W@###@@@@WWWWWWWWWWWWWWWWW@@@@WWW@@@@@@@@##@MMWW@@@@WWW@@@@
WWW@@##@@W@WWWWWWWWWWWWWWWWWWWWWWWWWWWW@@WWW@@@@@@@@#@@@Wx##*i*z*+zxnzzz##zzzz#i:;*nn+#nxMWW@###@@@WWWWWWWWWWWWWWWWWW@@WWWWW@@@@@@@@@##MMWWW@@@@WWWWW@
WWW@@@#@@@@@WWWWWWWWWWWWWWWWWWWW@@@@WWW@@WWW@@@@@@@@@@@@Wxz#+*nxzxWWxzzzz#zz###i,,,*zi*zxxMWW@##@@@WWWWWWWWWWWW@WW@W@@WWWWWWW@@@@@@@@##WxMWWW@@@WWWW@@
WW@@@#@@WWWWWWWWWWWWWWWWWWW@@@@@WWWWWWWWWWWW@@@@@@@@@@##@xxnz#Mn#znnnzzzzzzz###*,,.;#iiznnMMMW@@@WWWWWWWWWWWWWW@@@@@@@WWWWWWW@@@@@@@@##@xMWWW@@@@WW@@@
WW@@@@@WWWWWWWMWWWWWWWWWWWWWWWWMMWWWWWWWWWW@@@@@@@@@@##@M+i*;;*:,;*++#zzzz##z##*,..,z*i#nnMMxW@@WWWWWWW@WWWWWW@@@####@@@WWWWW@@@@@@@@#@MxxWWW@@@@@@WWW
WW@@@WWWWWWWWWWWWWWWWWWWMMMMWWWMMWWWWWW@WW@@@@@@@@@@@@##W*,..,i;:i+zz+**######+i,..:n+*znxxMWW@WWWWWWWWWWWWWW@@@@@####@@@WWW@@##@#@@@WMxMW@@WWWW@@@@@@
WWW@WWWWWWWWWWWWMMWWWMWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@#@#:...;i:i+zz#*;;;ii;;;;,,,:n+*zxMMW@@WWWWWWWWWWWWWW@@@WWW@@####@@@@@#######WWWW@@@@WWWW@@@@@@
W@@@@@@WWWWMMMWWWMWWWWWW@@@@@@########@@@@@@@@@@@@@@@@@@@xi...,i;i#zz#+i:,,,:;ii:,:;n#+nxW@W@@WWWWWWWWWWWWWW@@@WWWW@@@##############@@###@W@WWWWW@@@@@
@@#@@@@@WWWWWWWWW@@@@@@@#############@@W@@#@@@@@@@@@@@@@@W#:..,i:;+zz#+i::,::;i*iii*xnzxMW@@@@WWWWWWWWWWWWWWW@@@@WWW@@@##################@@@@WWWWW@@@@
W@@#####@@@@@@@@@###################@WWW@@#@@@@@@@@@@@@@@@M*,.,i,:+zz#+i;,,::;iii**+MxnMW@@@@@WWWWWWWWWWWWWWWWWW@@WWWW@@##################@@@@WWW@@@@@
WWW@@#####@#######################@WWW@@@@@@@@@@@@@@@@@@@@@xi,:*:;#zzz+i:,,::;;ii**+MxxMW@@@@WWWWWWWWWWWWWWWWWWW@@@@WWWW@@@##############@@@@@WWW@@@@@
W@@@##@@#@@@#####################@WWW@@@WW@@@@@@@@@@@@@@#@#@n**#i*znz#+*;:,::;i**++zMnxW@#@@WWWWWWWWWWWWWWWWWWWWWW@@WWWWWW@@@#############@@@@W@@@@@@@
W@@@##@@#@W@@@@########@#######@@WW@@@@WW@@@@@@@@@@@@@@@@@@@@x#z++nn##+;:,,,:;i**##xWnM@@#@WWWWWWWWWWWWWWWWWWW@@WWW@@@@WWWWW@@############@@@@@@@@@@@@
W@@@##@@#@WW@@@@@@@@@@@@##@@@@WWWW@@@@WW@@@@@@@@@@@@@@@@@@#@#Wxn++zn##z+:,.,,:i*#nnWWMW@##@WWW@@WWWWWWWWWWWWW@@WWWWW@@@@WWWWWWW@@##########@@@@@@@@@@@
W@@@##@@@@WWWW@@@@@@@@@@WWW@@WWW@@@@WWW@@@@@@@@@@@@@@@@@@@###@Wx+#zxz+zz*:,,::i*zznWWW@@#@@WWW@@WWWWWWWWWWWW@@WWWW@WWWWW@@@WWWWWW@@########@@@@@@@@@@@
@@@@@#@@@WWWWWW@@@@@@WMxxMWWWW@@@@@@@WW@@@@@@@@@@@@@@@@@@#####@M##nxn+#zzi:::;*#xxM@WW@@@@WWWW@@W@WWWWWWWWWWWWWWWW@WWWWWW@@@WWWWWWW@########@@@@@@@@@@