################################################################################iiiiiii###############################################################
##############################################################################;;iiiiiii;##############################################################
#############################################################################*i;;;;;;;;;##############################################################
###########################################################################+++i;;;;;;;;;##############################################################
##########################################################################++++i;;;;;;;;;##############################################################
########################################################################++++++;;;;;;;;;;##############################################################
#######################################################################+++++++;;;;;;;;;;##############################################################
#####################################################################+++++++++;;;;;;;;;;##############################################################
####################################################################++++++++++;:::::::::##############################################################
##################################################################++++++++++++;:::::::::##############################################################
#################################################################+++++++++++++;::::;::::##################################nnnn########################
###############################################################+++++++++++++++;::;ii;:::################################xxnnnnnn######################
##############################################################++++++++++++++++;;iiiii:::###############################xxxnnnnnnnn####################
#############################################################+++++++++++++++++iiiiiii:::###############################xxxnnnnnnnnz###################
###########################################################+++++++++++++++++++iiiiiii:::##############################xxxxnnnnnnnnzz##################
#########################################################+++++++++++++++++++++iiiiiii:,,##############################xxxxnnnnnnnnzzz#################
########################################################++++++++++++++++++++++iiii;;i,,,##############################xxxxnnnnnnnnzzzz################
#######################################################+++++++++++++++++++++++ii;,` :,,,###############################xxxnnnnnnnnzzzz################
#####################################################+++++++++++++++++++++++++;,`   ,,,,###############################xxxnnnnnnnnzzzzzz##############
####################################################++++++++++++++++++++++++*:`     ,,,,################################xxnnnnnnnnzzzzzz##############
##################################################++++++++++++++++++++++++*:`       ,,,,################################xxnnnnnnnnzzzzzzz#############
#################################################+++++++++++++++++++++++*;`         ,,..##################################nnnnnnnnzzzzzzz#############
###############################################+++++++++++++++++++++++*;`           ,...#######################MMMMx#######nnnnnnnzzzzzz##############
##############################################+++++++++++++++++++++++;.             ,...######################MMMMMxx#######nnnnnnzzzzzz##############
############################################++++++++++++++++++++++*:`               ,...#####################MMMMMMxxxx######nnnnnzzzzzz##############
##########################################++++++++++++++++++++++*:.                 ,...####################MMMMMMMxxxxx######nnnnzzzzzz##############
#########################################+++++++++++++++++++++*;.                   ,...####################MMMMMMMxxxxxx######nnnzzzzzz##############
########################################++++++++++++++++++++*;.                  `,:;...####################MMMMMMMxxxxxxx#####nnnzzzzzz##############
######################################++++++++++++++++++++*;.                 `.:;iii.``####################MMMMMMMxxxxxxxx######zzzzzzz##############
#####################################+++++++++++++**++++*;.                `.:;;iiiii.``####################MMMMMMMxxxxxxxxn#####zzzzzzz##############
###################################+++++++++++++****+++;.                `:i++iiiiiii```#####################MMMMMMxxxxxxxnn######zzzzzz##############
################################++++++++++++++*******;.               `,;*++++iiiiiii```#####################MMMMMMxxxxxxxnnn######zzzzz##############
##############################++++++++++++++*******;.               .;*+++++++iiiiiii```######################MMMMMxxxxxxxnnnn#####zzzzz##############
########################MMMM#+++++++++++++*******;.              .:*++++++++++iiiiiii...#######################MMMMxxxxxxxnnnn######zzzz##############
#####xxxxxxxxxxxxxxxxxxxxxMxz+++++++++++*******;.              ,;*++++++++++++iiiiiii...#############WWWWW######MMMxxxxxxxnnnnn######zzz##############
##xxxxxxxxxxxxxxxxxxxxxxxxxx#+++++++++*******;.            `.;*+++++++++++++++iiiiiii,..###########WWWWWWWMM#####Mxxxxxxxxnnnnnn#####zzz##############
#nnnnnnnnnnnnnnnnnnnnnnnnnnn#+++++++**i****;.`           `:i*+++++++++++++++++iiiiiii,,,###########WWWWWWWMMM#####xxxxxxxxnnnnnn#####zzz##############
#nnnnnnnnnnnnnnnnnnnnnnnnnnn#++++*iiiii*i;.           `,;+++++++++++++++++++++iiiiiii,,,##########WWWWWWWWMMMM#####xxxxxxxnnnnnnn#####zz##############
zzzzzzzzzzzzzzzzzzzzzzzzzzzz+**iiiiiiii;.`         `.;*+++++++++++++++++++++++iiiiiii:::##########WWWWWWWWMMMMM#####xxxxxxnnnnnnnn#####z##############
zzzzzz#+++++++++############*iiiiiiii:.          `:i++++++++++++++++++++++++++iiiiiii:::##########WWWWWWWWMMMMMM####xxxxxxnnnnnnnn#####z##############
#####*iii*******+++++++#####*iiii;:.`         `,;**+++++++++++++++++++++++++++iiiiiii:::##########WWWWWWWWMMMMMMM####xxxxxnnnnnnnn####################
####*iiii*******+++++++#####i;:,.`          .:i***++++++++++++++++++++++++++++iiiiiii;;;##########WWWWWWWWMMMMMMM#####xxxxnnnnnnnnz###################
++++ii;::,,,,,,,::::::::::,.``           `,i******++++++++++++++++++++++++++++iiiiiii;;;##########WWWWWWWWMMMMMMMM####xxxxnnnnnnnnzz##################
+++*;.                                `,;i*******+++++++++++++++++++++++++++++iiiiiii;;;############WWWWWWMMMMMMMMM####xxxnnnnnnnnzz##################
***;`                            ``.,;i**********+++++++++++++++++++++++++++++iiiiiiiiii############WWWWWWMMMMMMMMM####xxxnnnnnnnnzz##################
**i.                         `.,::;iii***********+++++++++++++++++++++++++++++iiiiiiiiii#############WWWWWMMMMMMMMMx####xxnnnnnnnnzz##################
ii;` `,::::;;;;;;;;;;;iii*+#*iiiiiiii***********++++++++++++++++++++++++++++++iiiiiiiiii##############WWWWMMMMMMMMMxx###xxnnnnnnnnzzz#################
ii;`,;ii*******+++++++######*iiiiiiii************+++++++++++++++++++++++++++++iiiiiiiiii###############WWWMMMMMMMMMxx####xnnnnnnnnzzz#################
ii;:iiii*******+++++++######*iiiiiiii***********++++++++++++++++++++++++++++++iiiiiii***################WMMMMMMMMMMxx####xnnnnnnnnzzz#################
**iiiiii******++++++++######*iiiiiiii***********++++++++++++++++++++++++++++++**********#################MMMMMMMMMMxx#####nnnnnnnnzzzz################
++*iiii*******+++++++#######*iiiiiiii***********+++++++++++++++++++##########+**********#################MMMMMMMMMMxxx####nnnnnnnnzzzz################
+++iiii*******+++++++#######*iiiiiiii*********++++++++++++####################**********##################MMMMMMMMMxxx####nnnnnnnnzzzz################
##+iiii*******+++++++#######*iiii******++++++++###############################++++++++++##################MMMMMMMMMxxxx###nnnnnnnnzzzz################
zz######################zzzz#+++++++++########################################++++++++++###################MMMMMMMMxxxx###nnnnnnnnzzzz################
zzzzzzzzzzzzzzzzzzzzzzzzzzzz##################################################++++++++++###################MMMMMMMMxxxx####nnnnnnnzzzz################
nnnnnnnnnnnnnnnnnnnnnnnnnnnn##################################################++++++++++###################MMMMMMMMxxxx####nnnnnnnzzzz################
xxxxxxxxxxxxxxxxxxxxxxxxxxxxz#################################################++++++++++###################MMMMMMMMxxxx####nnnnnnnzzzz################
MMMMMMMMMMMMMMMMMMMMMMMMMMMxz###############################################################################MMMMMMMxxxx####nnnnnnnzzzzz###############
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz###############################################################################MMMMMMMxxxx#####nnnnnnzzzzz###############
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz###############################################################################MMMMMMMxxxx#####nnnnnnzzzzz###############
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz###############################################################################MMMMMMMxxxx#####nnnnnnzzzzz###############
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz###############################################################################MMMMMMMxxxx#####nnnnnnzzzzz###############
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz#################################################zzzzzzzzzz####################MMMMMMMxxxx#####nnnnnnzzzzz###############
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz#################################################zzzzzzzzzz####################MMMMMMMxxxx####nnnnnnnzzzzz###############
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz#################################################zzzzzzzzzz###################MMMMMMMMxxxx####nnnnnnnzzzz################
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz#################################################zzzzzzzzzz###################MMMMMMMMxxxx####nnnnnnnzzzz################
MMMMMMMMMMMMMMMMMMMMMMMMMMMMz#################################################znnnnnnnnn###################MMMMMMMMxxxx####nnnnnnnzzzz################
xxxxxxxxxxxxxxxxxxxxxxxxxxxxz#################################################nnnnnnnnnn###################MMMMMMMMxxxx####nnnnnnnzzzz################
nnnnnnnnnnnnnnnnnnnnnnnnnnnnz#################################################nnnnnnnnnn##################MMMMMMMMMxxxx###nnnnnnnnzzzz################
nnnnnnnnnnnnnnnnnnnnnnnnnnnn##################################################nnnnnnnnnn##################MMMMMMMMMxxx####nnnnnnnnzzzz################
zzzzzzzzzzzzzzzzzzzzzzzzzzzz##################################################nxxxxxxxxx#################MMMMMMMMMMxxx####nnnnnnnnzzzz################
zzzzzzzzzzzzzzzzzzzzzzzzzzzz##################################################nxxxxxxxxx#################MMMMMMMMMMxx#####nnnnnnnnzzzz################
###+*******+++++++++########+**+++++++++######################################xxxxxxxxxx################WMMMMMMMMMMxx####nnnnnnnnnzzz#################
+++*iiiiii******++++++######*iii********++++##################################xxxxxxxxxx###############WWWMMMMMMMMMxx####xnnnnnnnnzzz#################
+++iiiiiii******+++++#######*iii***********+++++++############################xMMMMMMMMM###############WWWMMMMMMMMMx####xxnnnnnnnnzzz#################
***iiiiii******++++++#######*iii***********++++++++++++#######################xMMMMMMMMM#############WWWWWMMMMMMMMMx####xxnnnnnnnnzz##################
***iiiiii******++++++#######*iii***********++++++++++++++++++#################xMMMMMMMMM#############WWWWWMMMMMMMMM#####xxnnnnnnnnzz##################
iiiiiiiii******++++++######z*ii************+++++++++++++++++++++++############xxxxxxxxxx############WWWWWWMMMMMMMMM####xxxnnnnnnnnzz##################
iiiiiiiii******+++++######zz*ii***********++++++++++++++++++++++++++++++######xxxxxxxxxx############WWWWWWMMMMMMMM####xxxxnnnnnnnnzz##################
iiiiiiiii******+++++######zz*ii***********+++++++++++++++++++++++++++++++++++#nnxxxxxxxx###########WWWWWWWMMMMMMM#####xxxxnnnnnnnnz###################
#iiiiiii******++++++######zz*ii***********++++++++++++++++++++++++++++++++++++**+##nnxxx###########WWWWWWWMMMMMMM####xxxxxnnnnnnnn####################
#iiiiiiiiiiiiiii*********++#**************++++++++++++++++++++++++++++++++++++iiiiiiinnn###########WWWWWWWMMMMMM####xxxxxxnnnnnnnn#####z##############
##iiiiiiiiiiiiiiiiiiiiiiiiii+++***********++++++++++++++++++++++++++++++++++++iiiiiiinnn############WWWWWWMMMMM#####xxxxxxnnnnnnnn#####z##############
#####iiiiiiiiiiiiiiiiiiiiiii+####++*******++++++++++++++++++++++++++++++++++++iiiiiiiznn############WWWWWWMMMM#####xxxxxxxnnnnnnn#####zz##############
#######################iiiii+#######++***+++++++++++++++++++++++++++++++++++++iiiiiiiznn############WWWWWWMMM#####xxxxxxxxnnnnnn#####zzz##############
#######################################+*+++++++++++++++++++++++++++++++++++++iiiiiiizzz##############WWWWMM#####xxxxxxxxxnnnnnn#####zzz##############
########################################++++++++++++++++++++++++++++++++++++++iiiiiiizzz########################MMMxxxxxxxnnnnn######zzz##############
##########################################++++++++++++++++++++++++++++++++++++iiiiiiizzz#######################MMMMxxxxxxxnnnn######zzzz##############
###########################################+++++++++++++++++++++++++++++++++++iiiiiii#########################MMMMMxxxxxxxnnnn#####zzzzz##############
#############################################+++++++++++++++++++++++++++++++++iiiiiii#########################MMMMMxxxxxxxnnn######zzzzz##############
###############################################+++++++++++++++++++++++++++++++iiiiiii########################MMMMMMxxxxxxxnn######zzzzzz##############
################################################++++++++++++++++++++++++++++++iiiiiii+#######################MMMMMMxxxxxxxxn#####zzzzzzz##############
##################################################++++++++++++++++++++++++++++iiiiiii+++#####################MMMMMMxxxxxxxx#####nzzzzzzz##############
###################################################+++++++++++++++++++++++++++iiiiiii+++#####################MMMMMMxxxxxxx######nnzzzzzz##############
#####################################################+++++++++++++++++++++++++iiiiiii+++######################MMMMMxxxxxx######nnnzzzzzz##############
######################################################++++++++++++++++++++++++iiiiiii+++######################MMMMMxxxxx######nnnnzzzzzz##############
########################################################++++++++++++++++++++++iiiiiii***#######################MMMMxxxx######nnnnnzzzzzz##############
##########################################################++++++++++++++++++++iiiiiii***#########################MMxx#######nnnnnnzzzzzz##############
###########################################################+++++++++++++++++++iiiiiii***###################################nnnnnnnzzzzzz##############
#############################################################+++++++++++++++++iiiiiii***##################################nnnnnnnnzzzzzz##############
##############################################################++++++++++++++++iiiiiiiiii#################################xnnnnnnnnzzzzzzz#############
################################################################++++++++++++++iiiiiiiiii################################xxnnnnnnnnzzzzzz##############
#################################################################+++++++++++++iiiiiiiiii################################xxnnnnnnnnzzzzzz##############
###################################################################+++++++++++iiiiiiiiii################################xxnnnnnnnnzzzzz###############
#####################################################################+++++++++iiiiiiiiii################################xxnnnnnnnnzzzz################
######################################################################++++++++iiiiiiiiii################################xxnnnnnnnnzzz#################
########################################################################++++++iiiiiiiiii################################xxnnnnnnnnzz##################
#########################################################################+++++iiiiiiiiii#################################xnnnnnnnn####################
###########################################################################+++iiiiiiiiii#################################xnnnnnnnn####################
############################################################################++iiiiiiiiii####################################nnnn######################
##############################################################################iiiiiiiiii##############################################################
##############################################################################iiiiiiiiii##############################################################
##############################################################################iiiiiiiiii##############################################################
##############################################################################iiiiiiiiii##############################################################
##############################################################################iiiiiiiiii##############################################################
##############################################################################iiiiiiiiii##############################################################
##############################################################################iiiiiiiiii##############################################################
###############################################################################iiiiiiii###############################################################