#######################################################################################
##########################################*+==+*#######################################
########################################+- =######################################
######################################*: :++. =############################# #####
######### ########################+. :*%%%= .=: .=#################### ##
## #### ######################+ =%%%##- :. -################### # #
# ## ####################*. =%%###* .=#%+ :########################## #
# # ## ###################- -%%%##*. =#%%+. +######################### #
# ### ### ############*=-.. .#%%%##*.-#%%#= =##################### #
## ## ##### #######*=. .:=+**#%%%%####%%%%#=. .=################### ###
###### #### ####*=. :=*%%%%%%%%%%%%%%%%%%%%%%*=:. :+############### #######
######## #######*: .+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*- .=############ ########
############ ###*: -*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=. .=########## ########
############ ##*- -*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+ .+####### ########
################+. :*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%= -*##### #########
###########*=::. .+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+. .:=*##############
#########+. .::-:. .+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*: .-===: .-*###########
#######*: -#%@@@@@#= :*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#: -#@@@@@@@*. .+##########
######+. *%- +@@@@@%: *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#. #@@@@@@@@@@@- -#########
#####+ .#@+ .@@@@@@%. .#%%%%%%%%%%%%%#####%%%%%%%%%%%%%- *@@@@@@@@@@@@@= :########
####*. .%@@%. :@@@@@@@+ =%%%%%%%%#+-. .:=*%%%%%%%%* :@@@@@@@@@@@@@@@= -#######
####- *@@@@@**@@@@@@@@% :%%%%%%#= .:----:. :*%%%%%%+ =@@@@@@@@@@@@@%#%: +######
###* :@@@@@@@@@@@@@@@@%. .#%%%%*. -+*********=. =%%%%%= +@@@@@@@@@@@@= :+ -######
###= +@@@@@@@@@@@@@@@@@. .*###*. ==--++++++=:-+: =####- +@@@@@@@@@@@% +. .*#####
###- *@@@@@@@@@@@@@@@@@. .*###: =- =*++++: .=: =###= +@@@@@@@@@@@@= +: .*#####
###= +@@@@%%#*++++*#%@%. :###+ :+. =*++++++: == :###= =@%*+==-==+*##+=#%. .*#####
###+ -%+-. . -###- -*+=+*++++++++=+++. *##*. .-** -######
####. :=++**##**++- +###: =*+*++++++++++**+*: =###- .=**######*+=: =######
####= -*###########%* :###*. .+++++++++++++++++*- -###+ :#############*: .*######
#####: *#############: =###*. .+++++++++++++++++*= -####: +#############: =#######
#####+ .+###########+ :####* .+++++++++++++++++*= :####* .*###########: -########
######+. =#########+. *####* .+++++++++++++++++*= :#####= :*########*. -#########
#######*: .+######= .+#####+ :+++++++++++++++++++ .######= .=#####*- .+##########
#########+: .:::: -*#####%= :*++++++++++++++++++. .*######*: .:.. .=############
###########- ...:=*#####*+- =*++++++++++++++++++- -+*#####*=-::: *#############
###########* -########*=: .-+*++++++++++++++******+-. :=*########. :##############
############: .*######= :=*###**************##########*=: .=######+ =##############
############+ =#####- -*#################################*: =#####- .*##############
############*. :####+ .*###################################*. .*###*. -###############
#############- *###= -**###################################: +###= +###############
#############+ =###= :+****#############################**+. +###: .*###############
##############: .*##*: .-=++*****************#*******+=-:. =###* -################
##############= +####+-. .::-====++++++++++===--:. -*####= +################
##############*. -#######*+-:. .:-=+#######: :#################
###############- *###########*+==----::::::-----===+**###########+ =#################
###############+ -###############################################: *#################
################- -############################################*: =##################
#################- .=*#######################################*- .=###################
##################*- -*###################################+: .=#####################
####################*-. :=*#############################*-. .=*######################
#######################+: .-+*#####################*=: -+#########################
##########################+-. .-=+*###########*+=:. .-+############################
#############################*+-. .::---::. :-+*###############################
##################################*=-::.. ..::-+*####################################
#######################################################################################
#######################################################################################
##########################################*+==+*#######################################
########################################+- =######################################
######################################*: :++. =############################# #####
######### ########################+. :*%%%= .=: .=#################### ##
## #### ######################+ =%%%##- :. -################### # #
# ## ####################*. =%%###* .=#%+ :########################## #
# # ## ###################- -%%%##*. =#%%+. +######################### #
# ### ### ############*=-.. .#%%%##*.-#%%#= =##################### #
## ## ##### #######*=. .:=+**#%%%%####%%%%#=. .=################### ###
###### #### ####*=. :=*%%%%%%%%%%%%%%%%%%%%%%*=:. :+############### #######
######## #######*: .+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*- .=############ ########
############ ###*: -*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#=. .=########## ########
############ ##*- -*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+ .+####### ########
################+. :*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%= -*##### #########
###########*=::. .+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+. .:=*##############
#########+. .::-:. .+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*: .-===: .-*###########
#######*: -#%@@@@@#= :*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#: -#@@@@@@@*. .+##########
######+. *%- +@@@@@%: *%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#. #@@@@@@@@@@@- -#########
#####+ .#@+ .@@@@@@%. .#%%%%%%%%%%%%%#####%%%%%%%%%%%%%- *@@@@@@@@@@@@@= :########
####*. .%@@%. :@@@@@@@+ =%%%%%%%%#+-. .:=*%%%%%%%%* :@@@@@@@@@@@@@@@= -#######
####- *@@@@@**@@@@@@@@% :%%%%%%#= .:----:. :*%%%%%%+ =@@@@@@@@@@@@@%#%: +######
###* :@@@@@@@@@@@@@@@@%. .#%%%%*. -+*********=. =%%%%%= +@@@@@@@@@@@@= :+ -######
###= +@@@@@@@@@@@@@@@@@. .*###*. ==--++++++=:-+: =####- +@@@@@@@@@@@% +. .*#####
###- *@@@@@@@@@@@@@@@@@. .*###: =- =*++++: .=: =###= +@@@@@@@@@@@@= +: .*#####
###= +@@@@%%#*++++*#%@%. :###+ :+. =*++++++: == :###= =@%*+==-==+*##+=#%. .*#####
###+ -%+-. . -###- -*+=+*++++++++=+++. *##*. .-** -######
####. :=++**##**++- +###: =*+*++++++++++**+*: =###- .=**######*+=: =######
####= -*###########%* :###*. .+++++++++++++++++*- -###+ :#############*: .*######
#####: *#############: =###*. .+++++++++++++++++*= -####: +#############: =#######
#####+ .+###########+ :####* .+++++++++++++++++*= :####* .*###########: -########
######+. =#########+. *####* .+++++++++++++++++*= :#####= :*########*. -#########
#######*: .+######= .+#####+ :+++++++++++++++++++ .######= .=#####*- .+##########
#########+: .:::: -*#####%= :*++++++++++++++++++. .*######*: .:.. .=############
###########- ...:=*#####*+- =*++++++++++++++++++- -+*#####*=-::: *#############
###########* -########*=: .-+*++++++++++++++******+-. :=*########. :##############
############: .*######= :=*###**************##########*=: .=######+ =##############
############+ =#####- -*#################################*: =#####- .*##############
############*. :####+ .*###################################*. .*###*. -###############
#############- *###= -**###################################: +###= +###############
#############+ =###= :+****#############################**+. +###: .*###############
##############: .*##*: .-=++*****************#*******+=-:. =###* -################
##############= +####+-. .::-====++++++++++===--:. -*####= +################
##############*. -#######*+-:. .:-=+#######: :#################
###############- *###########*+==----::::::-----===+**###########+ =#################
###############+ -###############################################: *#################
################- -############################################*: =##################
#################- .=*#######################################*- .=###################
##################*- -*###################################+: .=#####################
####################*-. :=*#############################*-. .=*######################
#######################+: .-+*#####################*=: -+#########################
##########################+-. .-=+*###########*+=:. .-+############################
#############################*+-. .::---::. :-+*###############################
##################################*=-::.. ..::-+*####################################
#######################################################################################