ix##################################################################################################################################################x*
x@##################################################################################################################################################@x
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
#################################################################@###########@########################################################################
######################################################################################################################################################
######################################################################################################################################################
##########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#####@###@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#######################
####################################################################@##@@WMnnnnMW@########@#####################################@@@###################
######################################################################@Mn#i;::;*zM@#############################################@W@@##################
######################################################################Wzi;:,,..,i#M@############################################@MW@##################
#################@####################################################@+;:,,....,inW############################################@MW@##################
#################@####################################################@*:,,.``...:zW############################################@xM@##################
#################@####################################################@i,...```.,:+M@@##########################################@xM@##################
#################@####################################################W;,..```.,::;#M@##@#######################################@xM@##################
#################@####################################################W;,,....,:;;;i#x@#########################################@xM@##################
#################@###################################################@M;,,,...,,;;i#nM@#########################################@xM@##################
#################@################################################@#@@z:,:,,..,,,:*nW@@#########################################@xM@##################
#################@#################################################@@W*,,::,,,,,,:in@###########################################@xM@##################
#################@#################################################@@@+,,:i;;;;;::in@###########################################@xM@##################
#################@###################################################@n:,:******i;*x@###########################################@xM@##################
#################@####################################################W*:;+*******+n@###########################################@xM@##################
#################@#####################################################WMxx+*ii*+++zM@##@#######################################@xM@##################
#################@###################################################@###@Wz#+++#z#zMWWWW@@@####################################@xM@##################
#################@####################################################@###@Mnzzzzzzznnnnnnnx@###@###############################@xM@##################
#################@########################################################@Wnzz#########+*i*x@##@###############################@xM@##################
#################@#######################################################@Wxzz#########+*;;;ix@@################################@xM@##################
#################@#####################################################@@Mxz###########+i;;i;#W@################################@xM@##################
#################@####################################################@Mxnzz#######++###*i;;i+M#@###############################@xM@##################
#################@################################################@@@@Wz##z######++++#z#i;;;;+M#@###############################@xM@##################
#################@#############################################@WMnzzxn**########+++#z#+i;;;:#@#################################@xM@##################
#################@############################################@Wn#+**++i+########+++#z#*i;;;:#@#################################@xM@##################
#################@############################################Wn+i;;:;ii+######++++#zz+i;;;::z@#################################@xM@##################
#################@############################################M#*i::::;i*######++++#zz*i;;:,:z@#################################@xM@##################
#################@###########################################@x+ii::::;;*+#z##++++#zz#*i;:,,:n@#################################@xM@##################
#################@###########################################@n*ii;:::::;*####++++#zz+i;;:,,;x#@################################@xM@##################
#################@###########################################@x+ii;:::::;i+##+++++#z#*;;;,,,ix##################################@xM@##################
#################@############################################x+ii;::::::;i++++++#z#+ii;:,,,+M##################################@xM@##################
#################@############################################M#*i;:::::::;i+++++zz#*ii;:,,,#M##################################@xM@##################
#################@############################################Wz*;;::::::::;*++++zz+i;i;;:,,#W##################################@xM@##################
#################@############################################Wn*;;:::,,::::;i**+##*i;iiii::#W##################################@xM@##################
#################@############################################@x*;::::::,::::;ii*++*;;;;iii;zW##################################@xM@##################
#################@############################################@x*;::::::,:::::;;;**i;;;;;ii*nW##################################@xM@##################
#################@#############################################M+;::::;;;:::::::,:;;;;;;;;;i#M@#################################@xM@##################
#################@############################################@M#*********ii;:,..,::::;;;;;;i#M@@###############################@xM@##################
#################@###########################################@Wx#++++*****iii;:,.,::::::;:;;;i#x@###############################@xM@##################
#################@##########################################@Mn#+**iiiiii;;;;::,,,,:::::::;;;;i#x###############################@xM@##################
#################@#########################################@Wn#***iiii;;;;;::,,,,,,,,::.,;i;;;i+x###############################@xM@##################
#################@########################################@Mn#***iii;;;;::::,,.,,,,,,::.;#z+;;;*z@##############################@xM@##################
#################@#######################################@Wn#**iii;;;;;;:::,,......,,,;izMWz*i;i#@##############################@xM@##################
#################@#######################################@x#+*iii;;;;;;::::,........,:izMWMzi;;i+W@####@########################@xM@##################
#################@######################################@Wz+**iii;;;;;::::,,........,:*Mxzzzi;;i+W@####@########################@xM@##################
#################@######################################@x+***iii;;;;;::::,.........,:*n*;*zi:;i+xW#############################@xM@##################
#################@######################################Wz****iii;;;;:::::,........,,:;i,,i#;;;;i+nM@###########################@xM@##################
#################@#####################################@x#******ii;;:::::,,.......,::;;;:,;#;;;;::;+M@##########################@xM@##################
#################@#####################################@n+*i****i;;;::::,,,.......,:;::i;;i#;;;;:,.:#M@#########################@xM@##################
#################@#####################################@n*iii**ii;;:::::,,.........,:::::i+#;:;::...,*x@########################@xM@##################
#################@#####################################@z*iiiiii;;:::::,,...........,,,,,;*+i:,,,````.ix@#######################@xM@##################
#################@#####################################@ziiiiii;;;:::::,,................,:;i;,..`````,*M#######################@xM@##################
#################@#####################################@zii;;;;;;:::::,,...`...........``..,;:,.``` ``.:zW######################@xM@##################
#################@#####################################@zii;;;;;::::::,,..``.........``.`...,::,``````.,*M######################@xM@##################
#################@#####################################@#;;;;;:::::,,,,,..``...```...``......,::,.``....:z######################@xM@##################
#################@#####################################@#;;;:::::,,....,.......`````...``.....,::,......,#@#####################@xM@##################
#################@####################################@W+;;;::::,..```,i;;:,,,..````.```````....,:,,...,,*W@####################@xM@##################
#################@####################################@M+;;::::,,.`` `+nxn#+++*;,..```..`````....,,,.,,:;*zW####################@xM@##################
#################@####################################@x+;::::,..````.x@#@@@W@Mn*:...`````....`...,,::;;ii*M@###################@xM@##################
#################@####################################@n*;::,,.`` ```.M########@Mzi:,.``.```````...,::::;:;+W###################@xM@##################
#################@####################################@z*::,,.``` ```.M#########@@M#i,.```````````...,,,,..;n@##################@xM@##################
#################@####################################@zi::,..```````.x###########@Wn*:.````````````......`,+W##################@xM@##################
#################@####################################@#i:,,.```` ```.x############@@x+,.````````.`````````.;x##################@xM@##################
#################@####################################W#;,,,,..``````,M##############@Mni,.````.```..,:.``..,#@#################@xM@##################
#################@####################################W+;,,,,,.``` `.iW###############@@M#:.`..,..``.;#*,,..`iM#################@xM@##################
#################@####################################W+;::,,,.`````:z@################@@M+,.,,,..``,*Mxnz#+*#W#################@xM@##################
#################@####################################M*;:::,.``````iM#################@#Wz;,,...```:#W#@@@WWW##################@xM@##################
#################@####################################M*;::,,.`````,#@###################M#;,,..``.`;n@#@#######################@xM@##################
#################@###############################@@@##M*;:,,.``````*M@##################Wz*;:,,..``:#W@#########################@xM@##################
#################@##############################@MxxMWx*::,,.`````,#@#################@@n*i:,,,..`.ix###########################@xM@##################
#################@#############################@M+ii+##*:,,..`````;z@#################@M+i;:,,..``.*x###########################@xM@##################
#################@############################Wx+;::;;i*;,,.````` *x##################Wni;;:,..```.*M###########################@xM@##################
#################@###########################Wn+i::,,,,,::,.``````zW#################@x+;::,,.````,+M###########################@xM@##################
#################@##################@@@@####@Wz++i:,,,...,,,.````,n@#################@zi::,,..```.:#W###########################@xM@##################
#################@#################@WxnM@###@Wz#+*;,....`....```.iM##################@x*:.,...```.;zW###########################@xM@##################
#################@################@Wn#*#M###Wx#+*i;:.`````..````,#W###################Wni,,...````in@###########################@xM@##################
#################@###############@Wn#+;:zW@Wn#i;;:::,```````````:n@####################@zi;,,.``..*x@###########################@xM@##################
#################@###############@Mz+i,.*xMn+i;:::::,``````````.iM@#####################x#+i,...:izW############################@xM@##################
#################@###############@x#+;..;+#+i;:::::,.`````````.:zW#####################@xz#*::;*nxW@############################@xM@##################
#################@##############@Wn+*:..,;i;::::::,.``````````,*M@#####################@xz#*;:iz@###############################@xM@##################
#################@#############@@Mz+i:,.,:;:::::,,..````,;;;;:inW######################@xz+i;;*x@###############################@xM@##################
#################@#############@Wn#**i,.,:::;i#z*:.```.:+nxnnnx@#######################@xz+;;;+M@###############################@xM@##################
#################@###########@@Wx#+*i;:,,:;*#xW@Mz*;:,inW##############################@x#*;;;zW################################@xM@##################
#################@###########@@xz#+*;,:,;*#nW@##@@Wn##x@#@#############################@n#*;;in@################################@xM@##################
#################@#########@#@Mz#++i:,*+zxW@@######@@@@################################@n+i;:*M#################################@xM@##################
#################@###########Wx#++*;,;x@@@#####@@######################################@n+i;:#W#################################@xM@##################
#################@##########@Mz++*i:,+W##############@#################################@n+;;;n@#################################@xM@##################
#################@##########@x#++*;,:x@###############################################@@n+;;;x##################################@xM@##################
#################@##########@x#+*i,:+W################################################@Wn*;;*x##################################@xM@##################
#################@##########@x#+*;,ix@################################################@Mz*;;#M##################################@xM@##################
#################@###########M#i;:in@###############################################@WWx+i:;nW##################################@xM@##################
#################@###########Wn*iin@###############################################WMzzz*i:;x@##################################@xM@##################
#################@###########@Wnnx@##############################################@Wz*;;*i;;iW###################################@xM@##################
#################@#############@@@#@#############################################Wzi:,,;;;;+@###################################@xM@##################
#################@#############@###@############################################@x+:...,,::*W###################################@xM@##################
#################@##############################################################@M+:.``...,:W@##@###############################@xM@##################
#################@###############################################################Wx*,`````.,n@##################################@xM@##################
#################@################################################################@x*,````.,#M@#################################@xM@##################
#################@#################################################################@M#;...,:ix##################################@xM@##################
#################@###################################################################Wzi:;:::z@#################################@xM@##################
#################@####################################################################Wn+i:,.ix@################################@xM@##################
#################@#####################################################################@x*,.`,+M################################@xM@##################
#################@@#####################################################################@z;.``:+M###############################@xW@##################
#################@@######################################################################@n*.`.:+W@#############################@xM@##################
########################################################################################@#@x*:.,iW@#############################@xM@##################
##################@@@@@WW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW@Wx#;i#MW@@@@@@@@@@@@@@@@@@@@@@@@@@W@@WMW@##################
##################@@WMMxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxMxxMxxxxxxxMMMMMMMMMMMMMMMMMMMMMMMMMxxMMMW@@##################
###################@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@@###################
####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################
#######################################@############@@####################@###########################################################################
############################################@########@######################@#########################################################################
##########################################@#@##@###@@@##@###############@@############################################################################
#############################################@###@@###@####################@##########################################################################
#########################################@@nW@@##@@Mn@###@###############Wn@#@########################################################################
#########################################@M;z@####@#*M@@###########@####@z;M@@######@################@#@##############################################
#########################################@M:z@#####WW@@@@##@####@@#@@###@#;MW@##@@@@@###@@###@#@@###@@@####@##########################################
#######################################@#@M;nW@W@##@@#@@@@@@@@##@##@W@W@@z;M@@@@@@#@@@@W@@@@@@@W@@@@@@#@@@@@#@########################################
#########################################@M:##;*n@#n+@@@#ii#*n@###@x*i;nWz:M@x*;;+M@M+n*i*x@@#zz;i#WM+x@#@n+M@########################################
#########################################@M:i**i;M@#:MWzii++,*@###W#;*+xWz:M@M#+*;n@n,i+*;+M@*:*+*;zx+zW@M++M#@#######################################
########################################@@M:*n@x;nW#;MM;#W@x:*@###M+;n@#@z:M@@z+*,zWn,+W@z*n@*;nWW*+MxiM#n+M@#########################################
########################################@@M;zW@W+zMz;Mx*n@#Wi+@###W#;+MW@z:MWx*.,,zWx:n@@n+z@++W@@#+xW*nWz+@##########################################
#########################################@M:zM@x;zW#:MMiz@@M;+@##@@@Wn:#Mz:MM*#@M*zWn:n@@zinW+*M@W*+M@z*++n@##########################################
########################################@@M:*zMz;M@#;MM**nMz,*@###@WMM##x#:Mx*#Mz:#Wn,+Mx+iM@*;zMxi#@@Mi;+W###########################################
########################################@@M;i;:;#W@#:MWni,;*,+@@@@W+:::xW#:MW+:;;;zWn:i;:;z@@*:i:;+x@@W+;z@###########################################
#########################################@@nxnznW@@Mx@@@xznn:#@###@xzzzW@Wx@@MnznxWWx:#nnnW@@**nnnM@#@W#+x#@##########################################
#########################################@@@#@@####@##@@@#Wz:z@@@#@@@###@@#@@@#####@n;n@@@##@*+W####@#M*n@############################################
#########################################@@@#@###@#@#@@xzz#;ix#@@#@##@@#@@#@@@@####@n:x@@@@@@++W@###Wn#+M@############################################
#####################################################@@n+**+x@######################W#M@####@nn@####W#+M@#############################################
#######################################################@@@@@@########################@######@@@######@@###############################################
######################################################################################################################################################
######################################################################################################################################################
######################################################################################################################################################
x@##################################################################################################################################################@x
ix##################################################################################################################################################x*