###################################################################################################################
######################################################xzznMW@######################################################
####################################################Mn+zMMWMMW@####################################################
##################################################@@xM#@@###@WMMW@#################################################
#################################################@@@@@@@#@@#@@@WWW@################################################
#################################################W@@WW@@#@@@##@@@@@@###############################################
###############################################@W@#@WW@#@@@@@@@###@@###############################################
###############################################WW@@@@MMW@@@@@@@####@@##############################################
##############################################@W@@@@WMnW@@@@WW@@@@#@@@#############################################
##############################################@W@WWMMMnnWWMWMWWWW@@@WW#############################################
#############################################@WMWMz+++#+#zznnxxMMWW@@M@############################################
#############################################@@WWx+;;;:;:;ii*+##znxWWM@@###########################################
#############################################@@Mx+;;::,,,:::ii*+#zxMWx@############################################
#############################################WWMzi;:;::,,::;ii**+#xMWxW@###########################################
############################################@@Wx+i:::::,,,:;ii*+#znxxMWW###########################################
############################################@@Wn+i;;;;:::::;iii+#nn#nMW@###########################################
############################################@MWn+;:;;;;:;;;;ii*+znn*zxx@###########################################
############################################W#MM#;;;;;;:;;;;i**+znn+#xxM@##########################################
###########################################@n*zM+:;;;;;:::;;;i*+zzz+ixMM@##########################################
############################################zi#n+:;;;;::,:;;;i*+#zzz*nxW###########################################
############################################z;+#*;;*++i:;;iii+#nMMMx#xxM###########################################
###########################################@#;#+i;i##zznz+**#nMWWMWMznMW###########################################
############################################z;*i;;*#nnxxMn++nMMWWMWWnzx@###########################################
############################################n;iii;i*i;*+#+*;nMMxnnnxzzM@###########################################
############################################n;i**;i;;;**;:;:zxzzz#+zz#W############################################
############################################W#***;;;:;;::;::zn#*ii*#+zW############################################
##############################################Wn+;:;,:;:;;::#xn*ii*#*M@############################################
##########################################@##@WW#i::;;i*i;;:+nx#**#nzW#@###########################################
#############################################WWWxiii*+z*i*iizMMnzznxx@@############################################
#############################################W@WMi*+#n#i;+zzMMMMMxxMM@@############################################
#############################################W@@W+**zMz*ii*#xMWWWnnMW#@@###########################################
############################################@W@@@z*i*#+z+++zzxMWMzMM@@@@@@#########################################
###########################################@@M@@@x#i*i;i*;;i*nMMxxMM@#@@W@#########################################
############################################WM@@@x#+ii;;ii*#zxxxnxMM@##@MW@########################################
############################################WW@@@M+#*i;:;;i*+znxxMxx@@@WWM@########################################
############################################WW@@@Mzz#*;:::;ii+#nxMnzM@@@WW@########################################
###########################################@WW@@Wz#nx#*;:::;i*znnn*#nxM@@W#########################################
###########################################WnWWW#i+zxnz*i;;ii+xxnnxnz#zxM@#########################################
######################################@#@W#i#WMx;i**#nxn#+++#nxzzzxz#++++nMW@######################################
######################################@Mzii*nM#+*i***+znnnxxxnzzznn#+****+#znW@@###################################
####################################@M#***ii+*i*+*iii*+###zz####znn+***i**+###nM@#@@###############################
#################################@x#**++*i;;;;i*+*iiiii*+*****+#znz**i*ii**+#+#znM@################################
###############################Wz*i*+++*ii;;;;i***ii;;iiiiiii*+#zn#iii*i***++####zM@###############################
############################@Wz;:::i+++*iii;;;;***i;;;;i;;;;;i+#zz+ii*****+++##**+#x@##############################
############################Wz*iiii;*++*****iii*+*i;;::;::::;i*#zz+**++++++*****++#znW@############################
##########################@Mn#++++++*******++++#+*i;:::::::::;i+#########+***ii*+++#nnxM@##########################
########################@Wn###+++++*********++****i;;::::::::;ii****+#zz##+*iii***+#zn##zM@########################
#######################Wn+#z##++++******+++****iiiii;;:;:::;;;;;iii**++####+*****+++#zz###x@#######################
###################@##Wz++###++********+++****iiiiiiii;:::;;iiiiiiii***+##+++*****+++#z#+#zn@######################
#####################Wz+++##+*********++++***iiiiiiiii;::;;iiiiiiiiii***+++++++****++#zz++zzn@#####################
###################@#n+++#+++***************iiiiiii;iiii;;;iiiii**iiii****++++++****+#zz++#zzx#####################
####################M*+*#+++**ii************iiiiiii;ii**iiiiiiii***iii******+++++****+#z#++zn#W####################
###################@#*++++++*iii***********iiii;iiiiiii*iiiiiiii***iii******+++++****+#z#++znzn####################
###################M*++++++**iii*********iiiiii;;;;;;iiiiii;;iiii**iiiiiii***++++*****+###+#zn#W###################
###################z*++++++*iiii*****iiiiiiiiii;;;;;;;ii;;;;;;iiiiiiiiiiiii****+++****+#####zzzz@##################
##################W**++*++*ii*******iiiiiiiiiii;;;;;;;;;i;;;;;;iiiiiiiiiiii******+*****+#####zn+W##################
##################ni++++++***ii****iiiiii;ii;;;;;;;;;;;;;;;;;;;iiiiiiiiiiii*************+z####n+n##################
###################;++++++*iiii****iiiii;;i;;;;;;;;;;i;;;;;;;;;iiiiiiiiiiii*************+zz###zz*@#################
#################W;i+++++**ii******iiii;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiii*******++*****#z####z;M#################
#################x:++++************iiii;;;;;;ii;;;;;;;;;;;;;;;;iiiiiiiiiiiii*****+++++**+#z##+#niz#################
##################;+++************iiiii;;;;;;ii;;ii;iii;;;i;;;;iiiiiiiiiiiii*****+++#+++++zz#*+n*i@################
################@ii+++*+****+++***iiiii;;;;;;;;iiiiiiiii;;ii;ii;;iiiiiiiiiii*****++#zz#++#zz#++n#,W################
################W:*+++*++*+++++***iiiii;;;;;;;;iiiiiiiii;;iiii;;;;iiiiiiiiii*****++#znz###zz#*#zz,n################
################x,*+++++++#z##+***iiiii;;;;;;;;;iiiii**i;;iii;;;;;iiiiiiiiii*****++#zxxzz#z#+*+zn;+################
#################,*++++++#znnz++**iiiii;;;;;;ii;;iiii***;;iii;;;;;;iiiiiiiii*****+##zxMnz###+++zn+i@###############
################*,+++++++#nxnz++**iiii;;;;;;;ii;;;iii***iiiii;;;;;;;iiiiiiii****++##zxWn#++++++#zz:M###############
###############@;:+++++*+#nxnz++***iii;;;;;;;ii;;;iii*++ii*ii;;;;;;;iiiiiii****++##znMWz+**+++++zn;z###############
###############W:;++++***+#xxz++***iii;;;;;iiiii;iiii*++i;**ii;;;;;;;iiii**i***++##zxMW#***+++*+#z**###############
###############n:*++++****+zxz#+***iiiii;;ii;;;;;;iii*++i;**ii;;;:;;;iiii*****++##znxMM+*i*+++**+zz;M##############
###############+:++**+++***#xz#++***iiiiii;;;;;;;;;ii*++i;i*ii;;:::;;iiii****+++#zznxMM+*i*+****+#z++##############
##############@i:++***+****#xzz#+***iiiiii;;;;;;;;iii*++i;i*ii;;::::;;iii***++##zznxMWM+ii******+#zziM#############
##############W::*********+#xnz#+++***iii;;;::::;;ii*+++;:i**i;;::::;;i*****++##znxMMWM+iii******##z#i@############
##############z,;+********+zMxzz#++***iiii;:::::;;ii*+++;;i***i;;::;;;i+##+++##znxxMWWM#iiiii***+##zz:M############
##############*:;+********+zMMnn##++****+*i;:::;;;i**+#+iii****i;;;;;i*znnz###znnxMW@@M#*iiii***++#zz**@###########
##############::i+******i*+zMWxnz##++**#z#*;;;;;;ii*+##+*******iiiiiii+zznxz#zznxMWW@@M#*iiii***++##z#:M###########
#############n:i++***iii**+zM@Wxzz##++#zz#+iiiiii**+#zz#+*++*****ii***+zxxxnzznxxMW@##W#*ii;;i***+###z,z###########
############@+:i++**iiii**+zM@@Mnzz##+znnz#*******++#zz#*i*++********++#nnnnznxxMW@@##W#*ii;;;***+###n:*###########
############@i;*#+**iiii**#nW@#Wxnzz#+zxnn+****+++##zz#+;;i++*****+++++#zzzznxxMW@@@##@z*i;;;;***++##ni:###########
############W:i+#+**iiii**#nW#@WMxnzz##znz+*+++++#####+*;;i*++***+++##zzzzznxMMW@@@@@@@z*ii;;;***++##z+,W##########
############x:*##++*iiii*+#nW#@WWMMxnzzzz####+######++*i;;i*****+++#zznnnxxxMWW@@WW@@@@n+ii;;;i***++#zz.n##########
#############:+##+*iiiii*+#nW#@MMMWMxnnzzzzz#######+****;;i****+++##zznxxMMWW@@@@W@@M@#x+*i;;;;****+#zz,+##########
###########@*;##++*iiiii*+#n@#@WMMWWMxxxnnnzzz####++****i;i**i*+++##zznxMMW@@@@@W@@Wn##W#*i;;;;****++zn::@#########
###########W;i##++iiiiii++zx@##WMMMWWWMMxxnnzzz##++*****iii*ii**++##znnxMMWWW@WW@@@#M##@z*ii;i;i*ii*+#ni`M#########
###########M:*##+*iiiii*+#zx@##@MxxMWWWWMxxnnzz##+******iii*ii***+##znnxxMMWWWWWWWzi@##@n+*iii;iiii*+#z+`z#########
###########x:*#+**iiiii*+#zM###@MMxxMMWWMxnnnzz##+******ii**iii**+##znnxxMMMWWWWWz;#@###M#*iiiiiiiii*#z#`*#########
############:++**iiiii*+##nW###@WMxxxxMMMxnnzzz#++**ii******iii**+##znnxxMMMWWWWz;,x####Wz+iiiii*iii*#zn,:@########
###########ii+*ii*iii**+#zx@###@Mxxnnxxxxxnnzz##+***ii*******ii*++#zznnxxMMWWWWM+:;W####@x+******iii*+#n:,W########
##########W;*+iii*****+##zM@###@xxxxnnxxxxnnz##++***ii*******i**++#zznnxMMMMWWMn*,*######W#+++++**iii+#z;.n########
##########n;+*iii*++++##znM#####xxxnnnnnnxnnz##++***ii******i***++#znnnxMMMMWMxzi,#######@n#++++*ii;i*#z+i*########
##########+*+*iii**+#+#znx@#####Wnxnnnnnnxnnz#+++****i***i*****++##zznxxMMMMMMx#;,M######@Wz#+##*ii;;i+nzz*@#######
#########@;*+iiii**#zzznnW@#####@#nnnnnnnxnnz##++****i***ii****++##zznnxMMMMMMx+,;W#######@xzzz#+*i;;i+zz#*W#######
#########W,*+iii***#nnnxM@#########nzzzznnnnz##++****ii*iii****++##zznxxMMMxxMx*.*@########@xnz#+*iiii+nzi*z#######
#########M,+*iii**+#nnxxW@########inz###zznnzz##+***iii**ii***+++##zznxxxnnznn#;`i##########@Mz++*ii;*#xn##;#######
#########W:+*iii*+++#znx@#######@*;n###+#znnzz##++***i***i****++###zznxMx###zz*:`;@##########W##+*i;;*#xxnz,#######
#########W:+*iii*+++##zx@#######W;iz##+++znnzz##++*************+###znnxxxnzzn#*:`,W##########@##+*i;i*#Mxxn:W######
#########x,+*iii*+++#+zx@#######n,*z##+++#zzzz##+++***********++###znnnxMxnnxz*;..x############++*i;i*zxxxM*x######
##########,#*iii*+####zx@#######*,+z##+++#zzz####++++*******+++###zznnxxxxnnxn#i,`n###########n++*i;i+znxxxz#######
########@;,#+iii*+#####n#######@:.+z##+++##z#####+++++++***++++###zznnxxxnnnnxz+:`############W#+*iii+#znnxz+@#####
########M,,#+*ii*+###++x#######M,.*#####+########++++++++++++####zzznnxxnnnnnnn#;`+###########@#++iii*##nnn#+@#####
########z`,z+*ii*+####z@#######x..i#############+++++++++++++####zznnnxnnnnnnxxni.*###########@#+*iiii+#zzn++@@####
########*`,z#+***++#nzM@#######z`.;###########+++++++++++++####zzzznnxxnnnnnxxxx+,i###########@#++iiii++zzn+*@#####
########i`:#++***++zzzM@#######+`,i+##########+++++++++++######zznnnxxxxnnnxxxxx#:i###########@z++*iii*+zznz;@#####
########:`+z+*****+znzM########+.:*+##########+++++++++#######zznnnxxxxxxxxxxxnxz;i###########@z++*iii**zznx;W#####
#######W.,zz+****+#znnM########+,;*+############++++++########zznnnxxxxxxxxnnnnxni*############n+++*ii**#znxiM#####
#######x`:zz+****+#znnM########+,;*+###########++++++##########zznnnxxxxnnnnnnnxx*+############x+*+*ii**#znx*M#####
########.*#z+ii**+#znxW########+:;*+###########+++*++#znnnzz####zzznnnxnnzzzznnxxi#############x+*+**i**#znx+M#####
#######*,###+i***+#nxx@########*;i*+#zz#########++++#zxMWMxn####zzznnnnnnzzznxxMx;#############x#+***ii*#znx#M#####
#######i:z#++****+#nxM@########+;i++#zz###zzz####++++zznz#+***++#zznnnnnnzznnxMWx;z############Mz+**iiii+znM#M#####
#######;iz#******+znxM##########;i+##zzzzz#zz###++++++++**iii*+##zznnnnnnnnxxMWWxix############@n#+iiiii+#nx#W#####
#######:i#+*****+#zxxW########@zi*+#zzzzzzzzz####++++***iii**++#zzznnnnnxxMMWWMMx+W############@x#++*iii+#nxzW#####
#######;#z+*****+#nMM@########@+*##znnnnnzzzz####+++++++***+++##zznnnxxxxMMWMMMWxiM#############W#***ii*+#nMz@#####
#######;#z+**i*++zxMW#########Mi*nxxxxxxnnzzzzz###++#####++####zzznnnxxxMMMMMW@@x;n#############@#***i**+#nMz@#####
#######i##+*iii++zxM@#########n;*xMMMMxxnnnzzzz###+##########zzzznnnnxxMMWW@@@@WW+#@############@z***ii*+#nMz@#####
#######i##+*iii+#nxW#########@n;#MWWWWWMxxnnzzzz#####zzzzz##zzzzzznnxMMW@@@@@WWWW#iM#############ni**ii*+znMn######
#######i##+*iii*#nMW#########W+i#MWMWWWWMMxnnzzzz####zzzzzzzzzzznnxMWW@@@@WWWWWWWxin#############xi*iii*+znMM######
#######*##+*iii*zxW@#########W+*zxWMMMWWWWMMxxnnnzzzzzzzzzzzznnxxMW@@@@@WWWWWWWWWWin#############xiiiii*+znxW######
#######*##+*ii*+nM@##########@#izMMWMMMMWWWWWWMMMxxnnnnnnnnxxMWW@@@@@@WWWWWMWWWWWx*+#############niiii**+znx@######
########z#+**i**nM@##########@#inMMMMMMMMWWWWWWWWWWWWMMWMMWWW@@@@@@@@@WWWMMMMWW@@WMzW@###########niiii**+znn@######
##########+**i*+nW###########@z*nMMMMMxxMMWMMMMMMWWWWWWWWWW@@@WWWWWWWWMMMxMWWW@@@@M*M############n*iii*+#znx@######
##########+****+n@############x+xMWWMMMxxxMMWMMMMxxxxxxxxxxxMMMMMMMMMMMMMMMMWWWWWWW*x###########@#++*i*+##nx#######
########+#+****+x@############M*nMWWWWWMMnzxMMMMMMxxxnnnnnxxxxxxxxxMMWMWMMMMMWWWWWW+z###########@+***i*++#nx#######
#######+*#+***+#x@############W*nMWWMMMMMMxnzxxxxxnnxxxnnnnnnnnxxxMMMMMMMMMMMWWWWWW#+@##########@z*iii*++#nx#######
#######+i+++**##x#############x*zMWWMMxxxMWWxnzzxxxn##znnnnnxxxxxxxxxMMMMMMMMWWWW@@xiW##########@z*i*ii+*+zM#######
#######**#++++++M#############ninMWWMMMMxnnxMMMxzzznxxnz##znxxxxxxMMMMMMMMMMMWWWW@@x;M##########W+*i*ii+*+zM#######
#######i*+++***#x@############n*xMWWMMxxxxxnnnxxMMxnzznxxxnnnnxxMMMMMMxxxxxxMMWWWW@x;x##########W***i*i**+#M#######
#######i+++***++n#############z*xMMMMMxxxxxxxnz#znxxxxxxxxMxxxMMMMMMxxnnnnnxMMWWWWWn;x##########@+**i+i*i+zM#######
######@i+++*+**+n@###########@z#xMMMMxnnnnnnxxxxz#+#znnxxxxznxxMxnnnnnnnnnxxxMMWWWWn;n##########M****+***#nW#######
######W;+#+***+#x@##########@#n*nMWMMxz#zznnnnnnnnnz#+++#znnxxxnnnnnnnnnxxxxxMMWWWWn;n#########W#*i**+**#zxW#######
#####@M;*#++**+#nW###########@#izMMMMxxnz###znnzzznnnnz#++#nznnxxnnnnnnxxxxxxMMWWW@x;z########@#i*ii****##xW#######
######M+++##***+#n@#########@@zi#MMMxxxxxxnz#+#####zzznnzz#nzzzzznnnxxxxxxxxxMMWWW@x;z########xi*iiiii*+##xW#######
######Wz#+##*ii++*z@#########@nizMMMxxnnnnnnnnz############zzznnxxxxxxxxxxxxxMMWWW@x;z######@x**i*;iii*##zxM#######
######@##+#+*ii*+**#M@#######@z*nMMMxnnnzzznnnnnnzzz#####+#zznnnxxxxxxxxnnnxxMMWWWWx;n#####@x*i*ii;iii*##znx#######
#######+###++ii***+**x@@#####@z*xMMMxnnnnzzzzzznnnnnzzz##+#zznnxxxxxnnnnnnxxxMMWWWWx;n###@#M+*iiiiii*i+##zzn#######
#######*###++*iii++++*zW###@#@#*xMMMxnnnnnzzzzzzzzzzzzznz#znnnnnnnnnnnxxxxnnxxMWWW@x;z####@z+iiii;i*+i+#+##n#######
#######*+#z+**iii**++++n@####@#*xMMMxnzzznnnzzznzzzzzzzz#znnnzznnnnnnnnnnnnnnxMWW@@M;#####@z+ii;iii**i+#+#zn@######
######@i###+++iiii*+#z#n@####@#*xMMMxnzzzzzzzzzzzzzzznnzznxzznnnnnnnnnnnnnnnnxMWW@@Mi#####@M+ii;iii*+i++++#n@######
######x*##z#+**iii*+zxMW@####W+*xMMMxnzzzzzzzzz#######zzznxnnnnzzzzzznnnnzzznxMWW@@Mi######W#*iiii*++i++*+zM@######
######x*##z##**iii*+zMWW@##@#@+*xWMMxnzzzzzzzzzzzzzzzznnnnxnzzzzzzzznnzzzzzzzxMWW@@Mi######W#***i*++**++*+zx@######
######x*+#zz#++iiii+nWWM@##@#@+*xWWMxn#zzzzzznnnnnnnnnnnnxxnnnnnzzzzzzzzzzzzzxMWW@@Mi+#####Wz###++#+*+**++#n@######
######M*+#z##++**i*#nWMxW####@#*xWWMxn#zzzzzzzzzzzzzzzznxxxnnnnzzzzzzzzzzzz#zxMWW@@Mi*#####@nznnz##z#++++#zx@######
######W*#####++++*+#nMxnW####@#*nWWMxn#zzz#######zzzznxxxxMnnzzzzzzzzzzzzzz#zxMWW@@Mi*@####WzznMxnxWMnznnnM@#######
######W+##z+##+#nzzznnxxW####@#*nWWMxnzzzzzzzzznnnnxxxxMMMMxnnnnzzzzzzzz#zzzzxMW@@@M*i@####W+#nMMMWWMMWWMW@########
######@zz#zzz##zMMxnx#xMx@###@#*nWWMxnzzzznnnnnnxxxxxxxMMWWxnzzzzzzzzzzz#zzzzxMWW@@W*i@####W##zMxMWWWW@@@@@########
#######MxnznMnnMMWMxzznWM@###@#*nWWMxnznnnnnnnnnnnxxxxMMWWWxnzzzzzzzzzzz#zzzzxMWW@@W*i@####W##zxnxWWxM@WW@#########
#######@WWMMWWWWWWxxnnx@@#@##@#*nWWMxnznxxnnxxxxxxxxxMMMW@WMnzzzzzzzzzzz#zzzzxMMWW@@+iW####@xznMxMWWxM@@W##########
########@@@W@@WWMMMxnnW@#####@#*xWWMxnnnxxxxxxxxxxxxxMMM@@@MxnzzzzzzzzzzzzzznxxMWW@@#iW#####@MWWMMWWMW@############
#########@@@WWWWMxMMxM@######@#+xWWMxnnnxxxxxxxxxxxxxMMW@@@WxnzzzzzzzzzzzzznnxxxMW@@#iW######@##@W@#@@#############
############@WWWWxW@W@#######@##MWWMxnnxxxxxxxxxxxMMMMWW@@@WMxnnzzzzzzzzzzznxxnnxW@@ziM############################
##############@@WW@##########W+zMWWMxnnxxMMMMxxxxMMMMMWW@@@WMxnnzzzzzzzzzzzxxxnzxW@@n*x############################
#################@###########x+zMWWMxnnxxMMMMMxxxMMMMWWW@@#@MxnnzzzzzzzzzzzxxxnznW@@n+n############################