################################################################################################################
################################################################################################################
################################################################################################################
#####################################@##########################################################################
###############################@@WMxxxxxW@@#####################################################################
#############################@Mnz#+++++++#xW@###################################################################
###########################@Mz#++######++**+nW@#################################################################
#########################@Mz######zzzzzz##+**+nW@###############################################################
########################Wn#####znnnnnnnnnnz+***#xW@#############################################################
#######################Wn####znnnnnnnnnnnnnnz+***#xW@###########################################################
######################Wz###zznnzzzzzzznnznnnnnz+**+zMW@#########################################################
#####################Wz###znnnzzzzzzzzzzzzzzzznn#*i*#nM@########################################################
####################Wz###znnzzzzzzzzzzzzzzzzznnxxz+**+znx@######################################################
###################@n###znnzzzzzzzzzzzzzzzznnnnnxMn#**+zznM@####@@@WWWWW@W@@@@@#################################
##################@M###znnzzzzzzzz###zzzzzznnnnnxxMMz*i+#zznMWWWWWMMMMMMMMWMWWWWW@@@############################
##################Wz##znnzzzzzzzz####zzzznnnnnnnxxxMMn+i*+zzznxMMMMMMxMMMMMMMWMMMMWWW@@@########################
#################@n##zznzzzzzzzz####zznnnnnnnnxxxxxxMWx+ii+zzzznnnzzzznnnxxnnnnnxxxMMMWW@@@#####################
#################M###znnzzzzzzz####zzzznnnxxxxxxxxxxnxMM#i;*#zzzznz##++##znnnzzzzzznnxxMMWW@@###################
################@n+#znnzzzzzzz###zzzzzzznnnxMMMMxxxxnnxMWzi;*#z#zznxnz#+++##znnnnzzzzznnxxMMWW@@@###############
################M###znzzzzzzz##zzzzzzznnnnnxxMMWWWMxzzznMWn*;i#zzzznnxxnnz+++#znxnnnzzzznnnxMMMW@@##############
###############@x##znnzzzzzzzzzzzzzznnnnxxxMMMW@@WWWMMMMW@@x*;i#zz#zznxxnnnz#++#znxxnnnzzzzznnxMMW@#############
###############@z+#znzzzzzzzzzzzzzzznnnxxMMW@@@@@@@@@@@WWW@@M+;i#zzzzznnnnzzzn#++#zxxxnnnnnzzznnxMW@@###########
###############M##zznzzzzzzzzzzzzzzznnnxMWW@@WWWWW@@@@@@@@@@#M+;i#zzzzznnnnnz#nn#++#nxxxxxxxnzzznxMM@@##########
##############@x+#znzzzzzzzzzzzzzzzznnnMWWWWWWWWWWWW@@@@@@####W+ii+zzzzznnnzzz##nn#++znxxxxxxxnzzzxxM@@#########
##############@z+#znzzzzzzzzzzzzzzznnnxMWWWWWWWWMMWW@@@##@@####W+;i+zzzzznnzzzzz+#nz#+#zxxxxxxxnzzzxxM@#########
##############Wz+zznzzzzzzzzzzzzzzznnnxMMWWW@WWWMMWW@@@@#@@@####W+;i+zzzzzzzzzzzz#+znz++#nxxxxMxzzzznxW@########
##############W#+zznzzzzzzzzzzzzzznnnxxMMWWWWMxMMMWW@@@###@@@####W#;i+zzzzznzzzzzz#+#nn#++znxxMxxznzzxMW@#######
##############M##zzzzzzzzzzzzzzzzznnxxMWWWWWxnxxxMW@@@######@@@@##@#;i+zzzzzzzzzznnz+#nnz###nxxxxnzzzzxM@#######
##############M+#zzzzzzzzzzzzzzzzznxxMWWWWWMxxMMMW@@@@@######@@@@##@#ii+zzzzzzzzzznnz#+znn###zxxxxnznznxW@######
##############x+#znzzzzzzzzzzzzznnxxW@@@WWMMMnnxMW@@@@@#######@@@@@@@zii+#zzzzzz#zznnz#+znnz##nxxxnnznnnM@######
##############x+#znzzzzzzzzzzzzznxWW@@WWMMMMxnxMMWW@@@@@@@####@@@#@@@@n*i+#zz#####zzznnz+#nnz#znnxxxnnnnxW@#####
##############x+#znzzzzzzzzzzzzzxW@@@@@W@MMMMMMxnxxMWW@@@#####@@####@@@x*i+#zz####zzzzzzz#+znz#znnxxxxxnnM@#####
##############x+#znzzzzzzzzzzznnxW@@@W@WMMMMMMMMMMWW@@@@@#####@###@@@@@@M+*+########zzzzzz#+znzznnxxxxxxnxW@####
##############M+#zzzzzzzzzzzznnxWW@@@@@WMMxxMMW@WW@@@#@@@####@###@@@@@@@@W#**+++####zzzzzzz#+#nzznnnxxxMxxM@####
##############M##zzzzzzzzzzznxMMW@@@@WWWxxxMWWWW@@@@@@@###@@@@###@@@@@@@@@Wn+*+++#+##zzzzzzz#*+zzznnxxxxMxxW@###
##############W#+zznzzzzzzznnxWW@@@@WWWMxxMMMMMMWW@@@@@@@@@@@@@@@@@@@@@@@@@@M#++++++####zzzzz#*+#zznxxxxxxxM@###
##############@z+#zzzzzzzznxMMW@@@@@@@WWWMMMnnxMWW@@@@@@@@@@@@@@@@@@@@WW@@@@@Wn#++++#####z#####**+#znnxxxxMMW###
###############x+#zzzzzzznxMW@@@@@@@WWWWMMMMxMWWW@@@@@@@@@@@@WW@@@@@WWWMWWWW@@@Wn#++#####zz#####**+#znxxxxxMW@##
###############W##zzzzzzznMW@@@@@@WW@@WWMMMMxxMWWW@@@@@@@@@@WMMWMW@WMMMxMWWW@@W@@Mxz#####zzzzz###++##nnxxxxMM@##
###############@n+#zzzzzzxW@@@@@@@W@@@WMxxnxMxMWW@@@@@@@@@WWxnMxxWWMxxMxxMWW@@WWWWMMMnzz##zzzzz#z#+##znnxxxxMW@#
################M##zzznnnMWW@@@@@@W@@@WMMMMxxxMWWWWW@@@@WWMMxxxznMMzzxxxnxMWWWWMMWMMxMWWxnnnnzzzzz#z#znnxxnxxM@#
################@n+#nnnxMM@@@@@@@@@@@WWWWWMxnxMWMMWWWWWWWMMxnzzznxn##nnzznxMMWMMxxxxxnMWWMxxMWWMMzzz##nnnnnnxM@@
#################Wz#nMxxMWWW@@@@@@@@@@@@WWxnxxMMMWWWWWWMMxxnz#zznnz+##zzzznnxMMxxxnznnnMWMMxMWWWWWxzz##nnnnnxx@@
##################MznMMMMWW@@@@@@@@@@@@@WMMnnxxMWWWWMWMxxnn#+#z#zz#++#++z#z#nxxnzznnznxxMWWMMMWMWWWxzz#znnnnxxW@
###################WxMMMWWWWWWWWW@@W@@@WWMxznxMMMMMMMMnzzz++++#+++++*+ii+z#+#nnnzzzznxxMWMWMMxMWWWWWnz##nnnnxxM@
####################@WWWW@@@WMMW@@@@@@@MMMxznxMMMxxMxnz##+++****+++**+ii*#z++#nnnnzznxxxxWWMMxMMWMWWWnz#znnnxxM@
#####################@@WW@@@WMM@@@@@@@WWWMMxxxxxxxxxnz#+++***i*++**iiii;i+z+**+zxxxxznxnnM@@WWxMWWWWWMzz#nnznxMW
####################@##@@WWWMM@@@@@@@@@W@WWMMMxnxxxnz#++****i;*+***i;;;;i*##*i**#nxMxnxxxMW@@WMxWWWWWWnz#znznxMW
#####################@@@@@WWMxW@##@@@@@@@@WWWxnnnnz##+*ii**i;i++iii;;;;;;i+#+**ii*#zxxxxxxWW@@@WWW@WWWWzz#nnnxxM
#####################@@@@@@WWM@#####@@@@@@@WMnnnnzz##+***ii;i***ii;;;;:::;i*+**iii*##nnxMMMW@@@@@@@@@WWxz#zxnxxx
######################@@@WWMMW@#####@@#@@@@Mxzzzz##++***ii;;i**i*i;:;;::::i*+***iii*#znnxxMMWWW@@@@@@WWWzz#nnnxx
#######################@@@@WW@@#@@##@#@@@@Wxnz####+*i**i;;;;;iiiii;:;;::::;***iiiii**#zxxxxMW@@@@@@@@WWWxz#nnnxx
#########################@@@@@@@W@####@@@WMxz####+*iiii;;::;ii;;i;::;;::::;i*iiiiii**+#znxxnMW@@@@@@@@WWMzzznnxx
###############################@W@###@@@@WMz#++++*iiiii;;:;;;;;;;;;:;;:::::;ii;;iiii*+##znxxMWW@@WWW@@WMMnz#nnxx
###############################@W@#@#@@@@Wn#+**++*iiiii;;;;;;;;;;;;;;;:::::;ii;;iiii**+znxxMWWW@@MMW@@WMMxzznnxM
###############################@@@@@@@@@Wxz+*******iii;;;;;;;;;;;:;;;::::::;;i;;;iiii*+#nxMWWW@@@WMM@@WMMMzzzxxM
###############################@@@@@@@WWMn#+**i***iiii;;;;;;;;;;;::;::::;:::;i;;;iiii*+#nxW@@W@@@MMWWWWMMWnnzzzz
###############################@@@@@@WWWxn#***iiiiiiii;;;;;;;;;;;:::::::::::;;;;;;iiii*+#nMW@@W@WWMWWWWMWWxz#+##
############################@@@@@@@@@@WMMn#+***iiiiiiii;;;;;;;;;:::::::::;;;;;;;;;iiii**+#nxW@W@MMMMMMMWMMz+++##
##########################@MxM@@@@@WWWWMMn#+***iiiiiiii;ii;;;;;;;;;::::::;;;;;;;;iiiiiii**+#zW@@WMMxxMxMWM#*++++
########################@MxnxxW@@@@WWMWMxz#+**iiiiiiiiiiii;;;;;;;;::::::::;;;;;;;iiiiiii***++xW@WMMxMMMMWM#++*++
######################@MxxxnnnM@##@WMxMMn#++**iiiiiiiiiii;;;;;;;;::;:::::::;;;;;iiiiiiii***++#W@WWWMMWWMMx++**++
####################@Wxxxnnzz#nW##@WMxxxz#+***iiiiiiiiiiii;ii;;;::::::::::;;;;;;iiiii*i*****++nxW@@@MWWMMz++*i*+
###################Wxnnnnzz##++M@##@Mxnnz#+***iiiiiiiiiiiii;;;;::::::::;;:;;;;;iiii*iii*****++##xMW@W@MMx++iii*+
#################@Mxnxxnnz####zM@##@Wxnzz++**iiiiiiiiiiiii;;;;;:::::::;;;;;;;;iiii***********+++#nMW@@WWz++iiii*
###############@WMxxnnzzzz#####M@###Wxnnz+***iiiii;;;iiiiii;;;;::::::;;;;;iiiiiiii***********+++#zxM@@WWz#+**ii*
##############@Mxxnnzz###z#+++#M@###Wxnzz+***iiiii;;;iiiii;;;;::::;:;;;;iii**+***++****++****++++#xMW@WW###+****
############@WMxnnnzz##++z##++zW@###@Mxnz#+*i*iiii;;;iiii;;;;;::;;;;iii**++++######z#+*+++***++++#nxW@@Mz#++****
###########@Mxnnnzz##++++++#++nW@@##@Wxnz#+*iiiiii;;;;iiii;;;;;;;i***++++######zzzznnnz#++****+++#nMWWWMz+i*****
##########Wxxnnzz###+++******+zW@@##@WMxnz++*iiiii;;iiiii;;;;ii*+###z####zz###zzzz#znn#+++****+++#nMMWWxz*;ii*++
########@Mnnnnn##++++*********#M@@@@@@WMxxz#****ii;iiiiiiiii*#znxxxxnnnnzznz###########++++**++++#nMW@@x#i;;;i++
#######Wnzzzzzz+++++***iiii****zM@@@@WWWWWMnz##+*iiii******+#zxMxMMMxxxxxnz#+##+++##+#####+++++++#zMWW@M#*iii*++
######Mz##znz##++++***iiiiiiiii+zM@@@@WW@WMxnnnz#+**++++####z#znnnxxxnz###+++**i**+++##+++++*++++##xW@@Mz*iii++*
#####M#z##zzz##+++**iiiiiiiiiii*+zW@@@@W@WMxxxMxnz###++#zzzzz###z###+***iiiiiiii*************+++++#xW@WMz*ii*#+*
####@z#zzzzz##+++***iiiiiiii**+**+nW@@WMxnzzzznxxxnnz#####z##+++#++++*iii;;;iiii***++**iiiii**++++zxWWWMz**##+*+
####M##znzz#+##******iiiii***+**+*+M@@Wxz++***++#znnn##+**+****+####++*iiiiiii****+++**iiiii**++##nMWWMxz+z#+#++
###@z+#znz#+###******iiiiiiiiii*+**x@@WMz+******++#znz#+i;;iii*++#zz#++*iiii***++++++**iiiii**++##zMWMMxnz#*+##+
###M#++#nz+#z#+******iiiiiiii*ii***nW@@Wx#+****++##znn#*;:;iii****#zz#++*******+++++**iiiii***+###zxMMMMn+***+++
###n++##nz#z#z#+******iiiiii***i***n@@@WMnz++**+#zzznx+i;;;ii**i**#znz#+*******+z#+*iiiiiii***+###zxxMMMn*****++
##@zzzzzzz+zzxx#++****iiiiiii**iii*n@@@MMMn#+*+##znnxx+i;;;iii*iii*#nxn#++++#zznzz*iiiiiiii**++###zxxxMxx+**++++
##Mzz#zzzzzznx##+*+***iiiiiiiiiiii*n@@@WMWnz#+#nxxzznx+*;;iiii*****+znxnnnnnnnnz#+*iiiiiiii**++####xxxnnn#**+++#
##xz+++z###nnxz#+****i*iiiiiiiiiii*x@@@WMWMxnnMMxnzzxx+*iiiiii******+znnnxnnz##+*ii;;;iiii***++###znzzzzn#+*+++#
#@n#+++####nnx#+++++++iiiiiiiiiiii*x@@@WMxMMMMMxzzzzMn+*i;ii**i******++##z#++**ii;;;;;iiiii***+#######zznz++++#+
#Wz#+++++##nxn#+++***+++iiiiiiiiii+MW@@Wxnxxxnnzz##nWz+iiii***i**iiii******iiiiii;;;ii;;ii****+#######zzn#+++##*
@Mz#++++###nxn##++**+#+##*iiiii***+xW@@Wxzzzz######Mx#*iiii***iiiiiiiii***iiiiiii;;;;;;;ii****+#######zzn#++##**
Mxz#######znxz##+**+#+#zz#*iiiii**+xW@@Wnzz#######zWn#*iiiii**iiiiiiiiiiiiiiiiiiii;;;;iiiii***+#######zznz##+***
xnz#######nzxz#++*****++*iiiii*i**+xW@@Mnz########xMz+*iiii**ii**iiiiiiiii*iiiiii;;;;iiiiii***++######zzn+******
xzz###z##zzzxz#++++**iiiiiiii*ii**+x@@@Mnz#######zMM#**iiii**iiiiiiiiiiiiiiiiiiiii;;;;iiiiii**++#####zznn+******
xnz##+#nznznnz+##+**********i*++i*+M@@@Wnz#######nWx#+*iiii***iiiiiiiiiiiiiiiii;;;i;;;iiiii***+++####zznx+******
xznz#z#znnznnz##+++*+++#z++++++z#++M##@Wnz#######nWn#**iiii***iiiiii;;;;iiiiiii;;;;;;;iiiii***+++####zznn++*****
xzzzzzznnzzxn######zzznnx###zzz###zW###@xz##+####MMz+*i;;ii**iiiiii;;;;;;;;;;;;;;;;;;;;ii***+*+++####znnz+++****
xnnzzznnnzzxz####znnnnnnx#zzz#####zW@##@xz#+#++##WM#*ii;;iii**iiiii;;;;;;;;;;;;;:::;;;;i******+++####znnz*+*****
nnnnzzznnzzxz##zzznnnnnnxzz###+####M@@@@xz#++++#zWn#*ii;;ii**iiiiiii;;;iii;;;;::::::;iiii****++++####znx#*******
nznzzzzxnznn##zzznnnnnnxxz#+*+++###x@@@@xz#++++#zWn#*ii;;ii*****iiiiiiiiiiii;;;:::::;;ii******+++###zznx+*******
nnxnnnnxnznn#zzznnnnnnnxz#+*i*++###zW@@@xz#+++++nWn+*iiiii**********iiiiiiiiii;;;;;;;;ii*****+++++##zznn##+#+***
nnnzznxxnzxnzzzznnnnnnnxz#+*ii*++##zM@@@Mz#+++++xWz+*iiiii***********ii****iiii;;;;;;iii*****+++++##znxn+++*****
nxz#znxxzzxnnznnnnnnnnnnz++**ii**#zzx@@@Wn#+++++MM#+*iiiii*********+*iii*****iiiiiiiiiii*****+++++##znxn********
nxzzznMxzzxxzzznxnnnnnnnn#++*i**i*+#zW@@@xz#++++WM#+*;;;ii*********+*iii******iiiiiiiii******++++###znMWz*******
nnzzzxMz#nnnz#zxxnnnnnnnzzz+**+****+zM@@@Wz##++#WM#+i;;;iii****ii**+iiiii*******iiiiii****+***++####zxMWW#******
znnnzxnzznznz#zxxnnnnnnnzzzz#++***i*+z@##@xz##+z@M#+*;::iii*iiiii*+*iiiiii**+++**ii**i*****+**++###znxMWWx+*****
nxnMMMn##nznzznxxnnnnnnnznnnnn#++****#W###Mn###zWx#+i;..;iiiiiii*++ii*iiii**++++***iii*****+*+++###znxxWWWz+++++
xxxMWMz##nnnzznxnnnnnnnnnnnnnnnzz+*+zM@###Wxz##zWM#*ii::ii**ii*+++*i****ii***++#++*ii****++*+++++#znxxMWWWW#++++
xxMMWxz#znnnzznxnnnnnnnnnnnnnnnznxxM@@@@@#@xnzzzMWz**i;iii*****+***i********++++++*******+++++++##znxxMWWWWx++++
xxxMMxz#zzzzznxxnnnnnnnnnnnnnnnnnM@##@@@@##MnnzzxWx+*iii****+**+***i*++**+*+*+++++++*****++++++##zzxMxMWWWWWMMMx
xxMWMxz##znznnxxnnnnnxxMMMMxnnnnM@##@@@@@@#@nnnnxMMz+****++++++******++++++#+++*+*++****++++++++#znxxnWWWWWWW@@@
xMMWMxz###nznxxxnnnxMW@@@@@@WMMM@##@@@@@@@##MnxxxMxx#+**++####+**+***++++#++++++++++****++++++##zznxnxWWWWWWW@@@
MW@WMxz##znnnxxnnnxW@####@@@@W@@##@@@@@@@@@#WnnMMMxxnz####+####+*+++++++#########++*+**++++++###znxxnxWWWWWWW@@@
W@#WMxz##znxxMxxxMW####@@@@WWWW@@@@@@@@@@@@##xzxMMxnnzzz###+#z###+++*+++##++++####+++**+##++###zznMnnxWWWWWWWW@@
@##MMMnzznxMMWMxM@###@@@@@WWWWWWW@@@@@@@@WW@#WzznxMxzzz##+++####+++**+++++++#+**+#+++**+#######znxxnnxWWWWWWWW@@
##@MMMnnnxW@@@@W@###@@@@@@WWWWWWWWW@@@@W@@@@@#xz##xxn###+**++++*******+++++#+*i**++++*++######znxMnnnxWWWWWWWW@@
##@xMMxMW@####@@###@@@@@@@@WWWWWWWWW@@@@@@@@@#Wz##zxnz##++**+*********++###+*****++++++#####zznxMxnnnxWWWWWWWWW@
##@xxxW@####@@@@@@@@@@@@@@@@WWWWWWWWW@@@@@@@@@@xz###nxnz###+++#+++++###z##+******+++++###z#zzznxMxznnxWWWWWWW@WW
##WxnM@###@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@@@@@@@xzzzzxxxxnzz##zz###nz####+*******++++###z#zzznnMxnznnxWWWWW@WWW@
##WxnM###@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@@@@@@@xnzzxMxxnnzz#zzzzz##++++********+++###zzzzznnxMnzznxMWWWWW@@WWW
##MxnW###@@@@@@@@@@@@@@@@WW@@@WWWWWWWWWWW@@@@@@@@@xnnxMxnzzznnnnz##+***+++******+++##zzzzzzznxMxzznnxxWWWWWW@@@@
#@MxM@###@@@@@@@@@@@@@@@@WW@@@@WWWWWWWWW@@@@@@@W@#@MxxMxnz#######++*;*++++*****++++##zzzzzzznxMnzznnxxMWW@@WWWW@
#@MM@####@@@@@@@@@@@@@@@@@W@@@@@@WWWWWWWWW@@@@@@@@#WxxMxzz###++++*ii**+++*****++++##zzzzzzznxMxzzznnxxMWWW@@WWW@
#@MW####@@@@@@@@@@@@@@@@@WWWWWW@@@WWWWWWWW@@@@@@@W@#WxxMnz####+++***++++++***++##+##zzzzzznxxxzzzznnxxMWW@@WWWWW
#@W@###@@@@@@@@@@@@@@@@@@@WWW@WW@@@WWWWWWW@@@@@@WW@#@MxMxnzz####+++++++++++++++####zzzzzznnxMnzzzznnxxMWW@@@WWW@
#######@@@@@@@@@@@@@@@@@@@WWW@WW@@@@WWWWWW@@@@@@WWW@#WMMMxnnzz#######++++++++#####zzzzzzznxMnzzzznnnxxM@W@@WWWW@
#######@@@@@@@@@@@@@@@@@@@WWWWWWW@@@WW@WWW@@@@@@WWWW@#Mxxxxnnnnzzzz####++++++++##zzzzznnnxMxzzzzznnnnnM@W@@@WW@@
#####@#@@@@@@@@@@W@@@@@@@@WWWWWWWW@@@W@WWWW@@@@@WWWW@#@xxxxxnnzzzzzzz###++++##+#zzzzznnnxxn#zzzzznnnnnM@WW@W@WW@
####@@#@@@@@@@@@@@@@@@@@@@@WWWWWWWW@@@@WWWW@@@@@WWWWW@#Mxxnnnnnnzzz###++++++####zzznnnnxxnzzzzzznnnnnnM@W@@@WWW@
###@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWW@@@@WWWW@@@@WWWWW@#@xnnzzzzzz#####++++#####zznnnnnxxn#zzzzzznnnnnnM@W@@@@@@@
##@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWW@@@@WWW@@@@WWWWWW@@#Wxnzzzzz###++++++++####znnnxnxxz#zzzzzznnnnnnnM@W@@@@@@@
##@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@@WWWW@@@WWWWWW@@#@xnnzzz#####+++++#+###zznnxxxxzzzzzzzzznnnnnnzM@W@@@@@@@
##@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWW@@WWW@@@@WWWWWW@@@#Wxnnz######+++++++#zzznnxxxxnzzzzzzzzznnnnnnzM@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWW@@WWW@@@@WWWWW@@@@@@Mxnz######++++####zznxxMxxzzzzzzzzzzzzzzzzzzx@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@W@@WWWWWWWWWWW@WWW@@@@WWWWW@@@@@@@Mxnz#####+++###zzznnxMMnzzzzzzzzzzzzzzzzzzzx@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@W@WWWWWWWWWWW@WWW@@@@@W@@@@@@@@@@@Mxzzzzz#####zzznnxMMMnzzzzzzzzzzzzzzzzzzz#M@W@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@WWW@@@WWW@@@@@@@@@@@MxnnnzzzzzzznnnxMMxnznzzzzzzzzzzzzzzzzzz+M@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@WW@@@@W@@@@@@@@@@@@@WMMxxxnnnnnnxxMMxnzzzzzzzzzzzzzzzzzzzzz#+W@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@WW@@@@WWWWW@@@@@@@@@@WWWWMxxxxxxMxnzzzzzzzzzz#zzzzzzzzzzzzz*+W@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWW@@WW@@@@WWWW@@@@@@@@@@@@@WWWx#+zzzz##zzzzzzzzzz##zzzzzzzzzzz#i#W@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWW@@WW@@@@WWW@@@@@@@@@@@@@@WWWM#**##########z#######zzzzzzzzzz*izW@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWW@WW@@@@WWWW@@@@@@@@@@@@@@WWW#+**########zz######zzzzzzzzzz+i*x@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWW@@@W@@@@@W@W@@@@@@@@@@@@@@@@WWz++*+z########zzz##zzzzzzzzzzz*i*M@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@W@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@WWx****+#########zzzzz##zzzzz#z+*i#W@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@WWM+****+#########z#####zz###zz***nW@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@WWn*****+#############z####zz#**+M@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@WWWW+*****+#################zn+**nW@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@@WWM#*****+############z##zn++++M@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@Mz*****+##########zz#zn+*++zW@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW#*****+z##zzzzzzzzzn+*+++x@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wz+**++######z#zznx+**+*#W@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WMxz##+#z##zzzzxn+**+++nW@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWxz+#znnnxn#**++++zM@@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxz+++++****+++*+x@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Wxx@@@@@@@M###+++*++++++*zW@@@@@@@@@@@@@@@
##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@xnnx@@@@@@W+++###++++++*+x@@@@@@@@@@@@@@@@