#######################################################################################################################################################
#S  #                 #     #       #   #       #       #       #           #       #               #   #           #       # #     #       #   #     #
### ### ####### ##### ### # ##### # # # ##### # ### ##### # ### # ##### ### # ##### # ### ######### ### # ### ##### ### ### # # # # # # ### # # # ### #
# #   #   # #   #         # #     #   #   #   #   #       #   # #   #   #   # #   #     #         # #   # # # #   # #   # # #   # # # # #   # # #   # #
# ### ### # # ### ######### # ########### # ##### # ##### ### # ##### ### ##### # ##### ######### # # # # # # # # # # ### # ##### # ### # ### # ##### #
#   #   #   #   # #   #   #   # #     #   # # #   # #   # #   # #     #   #     # #   # #       # #   # #   #   # #   #   # #     #     #     #     # #
### ### ### ### ### # ### ##### # ### # ### # # ### # # # # ### # ##### ##### ### # # # # ##### # ######### ##### ##### # # # ##################### # #
#   #   #     #     #   #       #   #   #   #     # # # # #   #   #   # #     # #   # # #     #   #     #   #   #     # #   #         # #   #     #   #
# ### ######### ####### ####### ### ##### # ##### ### # ##### ####### # ### ### ##### ####### # ### ### # ##### ##### # ######### ### # # # # # ##### #
#     #       #   #     #     #   # #     #     #     # #     #       # #   #                 # #     # #       #     # #       # #   #   #   #     # #
# ##### ##### ##### ##### ### # # # ### ####### ####### # # ##### ##### # ### ################### ##### ####### # ##### # ##### ### ########### # # # #
# #     #   #     # #     #   # # #   # # #   # #     #   # #   # #   #   #   #   #   #     #   #   #   #   #   # #   #   # #   #   #         # # # # #
# ##### # # ##### # # ##### ##### ### # # # # # ##### # ##### # # # # ##### ### # # # # ### # # ### # # # # # ### # ####### # ### ##### ##### ### # # #
#       # #     #   #   #     #     # # #   # #     #   #   # # #   #           #   # # # #   #     # # # # #   # #     #     #   #     #   #     # # #
######### ##### ##### # ##### # ##### # ### # ##### ##### # # # ##################### # # ########### # ### ### # # ### # ##### ### ##### # ##### ### #
#       #     # # #   #     #   #     #   # #     # #     #   #   #     #       # #   # #           # #     #   # #   # #   #   #   # #   #       #   #
### ### ##### # # # ####### ### # ####### ##### ### # ########### # ### # ##### # # ### # ### ##### # ##### # ### ##### ### ### # # # # ########### ###
#   # #   #   #   # #     #   # #     #   #   # #   #     #     #     #     # # #   #   #   # #   # #   #   # # #     #   # #   # # #       #   #   # #
# ### ### # ##### # # ####### # ##### # ### # # # ####### ##### ########### # # ##### ### ### ### # ### ##### # ##### # # # # ### # ######### # # ### #
# #     #   #     # # #       # #     #     # # #       #     # #         # # # #     #   #   #   # # #       #   # # # #   # # # #           # #     #
# # ### ##### ##### # # ####### # ########### # ##### ####### # # ####### # # # # ######### ### ### # ######### # # # # ##### # # ############# ##### #
# #   # #   #     # # #     #   #     #         #   #       # # # #     # #   # #   #   #   #         #         #   # #   #   # # #         #       # #
# ##### # # ### ### # ##### ######### ##### ##### # ##### ### # # # ### # ### # ### # # # ### ######### ##### # ##### ### # ### # # ##### # # ### ### #
#     #   # #   #   #     # #       #     # #     #     #       #     # # # # #   # # # # #   #           #   # #   #   #   #   # #   # # # # # # #   #
##### # ### # ### ### # # # # # ### ##### ### ######### ############# # # # # # ### # # # ##### ########### ### # # ### ####### # ### # # ### # # # ###
#     #   # #   #   # # # # # #   # #   #   #         # #           # # # #   #     # # #     # #   # #   # #   # #     # #     # #     #   # #   # # #
# ####### # # ##### # # # # # ### # # ##### ######### # # ######### # # # # ######### # ##### # # # # # # # # ### ####### # # # # ######### # # ### # #
#   #   # #   #   # # # # #   # # # # #     #         #   #     # # # # # # #     #   #     # # # #   # #   #   # #         # # #           # # #   # #
### # ### ##### # # # # # ##### # # # # ##### ########### # ### # # ### # # ### # ### ##### # # # # ### ####### # # ####### # ############# # ### ### #
#   #       #   #   # # # #     # #   # #             #   # #   # # #   # #     #     # #   # #   # #   # #     # # # #   # #       #     # #   #     #
# ########### ######### # # ### # ##### # ########### # ### # ### # # ### # ##### ##### # ### ##### # ### # ##### # # # # ####### # ### ### ### ##### #
# #         # #         # # #   #       #           # #   # #   #     #   # #   # #   #     #     # # # #   #     #   # #     #   #   # #   # #     # #
# # ####### # ### ####### # # ##################### # ##### ### ####### ##### # ### # ##### ### ### # # # ### ####### # ##### # ##### # # ### # ##### #
#   #     # #   # #     # # #         #         # # #     # # # #     #       # #   # #   #   #     # # # # #   #     #     # # #   # # # #   #       #
# ##### # # ### # # ### # # ####### ### # ##### # # ##### # # # # ### ######### # ### # # ### ##### # # # # ### ########### # # # ### # # # # #########
#   #   # #     # #   #   # #     #     # #       # #   #   # #   # #       #   #   #   # #       # # # # #   # #           #   # #     #   # #       #
### # ### ####### ####### # ##### ####### ####### # # # ##### ##### ####### # ##### ##### ####### ### # # # ### # ############### # ######### # # ### #
#   # #   #   #         # # #   # #     #     #   # # #             #   # # # #     #   # #   #       # # # #   #   #   #       #     #     # # # #   #
# ### # ### # ######### # # # # # # ### ##### ##### ############# # # # # # # # ####### # # # ######### # # # ### # ### # ##### # ##### ### # # # #####
#     #     #   #       # #   #   # # #   #   #   # #           # #   #   # # #   #     #   #   #     #   # # #   #   #       #   # #   # # # # # #   #
############### # ####### ##### ### # ### # ### # # # ######### # ####### # # ### # ########### # # ### ### # ####### # ######### # # ### # # # # # # #
#         #   #   #   # #   #   #   #   # #     # # #     #   # # #     # # #     #         #   # #   # #   #       # #   #     #   #     #   # #   # #
# # ##### # ####### # # ### # ### ### # # ####### # ##### ### # # # ##### # ####### ####### # ### ### # # # ##### # # ##### ### ######### ##### ##### #
# # #   #   #     # #   #   # #   #   # #     #   #       #   #   #   #   #   #   #       #   #     #     # #   # # # #     #   #       # #   # #     #
# # # # ##### # # # ### # ### # ####### ##### # ########### ######### # ##### # ######### ##### ############# # ### # # ##### ### ##### # # # ### ### #
# # # #       # #   #   # #   # #           # #           #           #     # #     #     #   #   #     #     # #   #   #   #   #   #   #   #     # # #
# ### ######### ##### ### # ### ### ####### # # ####### ### ##### ######### # ##### # ##### # ##### ### # ##### # ### ### # ### ### # # ########### # #
#   # #       # #   # # # # #   #   #     # # # #     #         #     #   # #     #   #     #     # # # # #   #   # #   # #   #   # # # #         #   #
# # # # ##### # ### # # # ### ### ### ##### # ### ### # ######### ### # # # ##### # ####### ##### # # # # ### ##### ### # ### ### # # ### ####### # ###
# #   # #     #   #   # #     #   # #     # #     #   #   #     # # # # #   #   # #       # # #   # #     #   #     #   # #   # #   #     #     # #   #
# ####### ### ### # ### ####### # # # ### # ####### ##### # ### # # # # ##### # # ####### # # # ### ####### # # ### # ### # ### ########### # ### ### #
# #       #     # #   #   #   # # # #   # #   #   #   #   # # # #   #   #   # # # # #   #   #   # #   #     #   #   # #   #   #       #   # #   #   # #
# # ########### # ### # ### # # # # ### # ### # # ### ##### # # ######### # # # # # # # ##### ### # # # # ##### ##### ### ### # ##### # # ##### # # # #
# #         #   # #     #   #   # # #   #   # # #   #       #   #       # #   # # # # #     #   # # # # # #   # #     #   # # #   #   # #       # # # #
# ######### ##### # ##### ####### # # ##### # # # ########### ### ##### # ##### # # # ### ##### # # # # ### # # # ##### ### # ### # ### ####### # ### #
#     #   #     # # #     # #     #       #   # # #         #     #     # #   #   # # # #       #   # #     # # #   #     # #     #     #     # #     #
##### # # ##### # ### ##### # ### ########### ### # # ##### ####### ##### # ####### # # ########### # # ##### # ### # ### # ############# ### # #######
#   # # #       #   #     # # #   #         #     # # # #   #     #   #   #         # #     #     # # #   #   #   # #   # #   #     #   #   #   #     #
# ### # ####### ### ##### # # ##### ####### ### ### # # # ### ####### ### # ####### # ### # # ### ### # ### ##### # # ### # ### ### # # ### ##### ### #
#     # #     # #   #   #   #     # #     #   # #   # #       #     #     #       # # #   # # # #   # # #   #   # # # #   #     #   # #   # #   #   # #
# ##### # # ### # # # # ### ##### # # ### ### ### ### ##### ### ### ####### ####### # # ### # # ### # # # ### ### # ### ### ##### ### ### # # # # # ###
# #     # #   # # # # #     #     #   #   # #     #   #   # #   # #     #   #       #   # # # #   #   # #   # #   #     # # #   #     # # # # #   #   #
# # ##### ### # # # # ####### ######### ### ####### ### # ### ### ### # ### # ##### ##### # # # # ######### # # ######### # # # ####### # # # ####### #
# #     #   #   # # #     # #     #     #         #   # #   # #   # # #   # #     #     #   # # #       #   #   #       #   # #         #   #       # #
# ##### ### ##### # ##### # ##### # ######### # # ### # ### # # # # # ### ####### # ##### ### # # ##### # ####### # # ### ### ####### ############### #
# #     # # #   # # #   # #   #   #   #     # # #   #   #   #   #   #   #         # #     #   # # #     # #       # # #   # #     #   #         #     #
# # ##### # ### # ### # # # # # # ### ### # # # # ####### # ####### ### ####### ##### ##### ### # ##### # # ####### ### ### ##### # ### # ##### # ### #
# # #     #   # #     # # # # # #   #   # # # # # #       # #       # #     #   #     #     #   # #   # # #       #     #     #   #     # # #     #   #
# # # ### ### # ####### # ### # ####### # # ### ### ### ##### ####### ##### ##### ####### ####### # # # # ####### ####### ##### ######### # # #########
#   #   #   # #       #   #   #   #     # #   #   # #   #     #           #     # #     #       # # # #   #     #   #   #       #       # #   #   #   #
####### # # # ##### ####### # ### # ##### ### ### # ##### ##### ### ### ####### # ### # ####### # # # ### # ####### ### # ########### ### ##### # # # #
# #     # # #     #       # #   #   # #     # #   #     #   #   #   # # #     # #   # #       # # # #   # #       #   # #           #   #       #   # #
# # ##### # ##### # # ### # # ####### # ### # # # ##### ### ##### ### # # ### # ### # ####### # # # ### # # ##### ### # ### ####### ### ############# #
#   #     # #     # #   #   # #   #   # #   #   #   # #   # #     #     #   #   # # # #     #   # #   # # #   #   # # #     #     # #     #     #     #
# ### ##### # ##### ### ####### # # # # # ######### # ### # # # ########### ### # # # # ### ##### ### # # ### # # # # ### ### ### # # ### ### # # ### #
# #   #     #   #     #   #     #   # # #     #   # #   #   # # #         #   #   #   #   #   #     # # #   # # #   #   # #   #   # #   #   # # # #   #
# # ### ####### ####### # # ######### # ##### ### # ### ##### ### ##### ##### ########### # ### ### # # ### ### ####### ### ### ### ### ### # # # #####
# #   # #       #     # # #     #   #   #     #   # #     #   #   #   #     #             # #   # #   #   #     #     #   # #   # # #   # #   # #     #
# ### # # ####### ### ### # ##### # ##### ##### ### # ### # ### ### ####### ############### # ### ####### ####### # # ### # # ### # # ### ##### ##### #
# #   # #       # #   #   # #   # #       #     #   # # #   #   #         #               #   #       # #       # # #   #   # #       #       # #   # #
### ### ####### # # ### ### # # # ######### ##### ### # # ### ### ### ### ##### # ####### ##### ##### # ####### # # ### ##### ##### ####### # # ### # #
#   # #       #   # #       # # # #   #     #   #   # # # #   #   #   # # #     # #   #   #     #     #   #   # # #   # #     #   # #     # #       # #
# ### ####### ##### ##### ### # # # # # ##### # ### # # # # ### ### ### # # ####### # ##### # ### ####### # # # # ### ### ##### # ### ### ######### # #
# #         #   # #     # #   # #   # #     # #   #   # # #   #   #   # # #       # # #     # # # #   #   # #   #   #   #   #   #     #   #     #   # #
# ####### # ### # ##### # # ### ##### # ### # # ####### # ### ##### # # # ####### # # # ##### # # # # # ### # ### ##### ### # ######### ### ### ##### #
# #     # #   #   #   # # # #   #     # # #   # #       #   # #   # # # #   #   # # #   #     #   # #   #   # #   #   #   # #   #           # #     # #
# # ### # # ##### # # # ### # ### ##### # ##### # # ####### # # # # # # ### # # # # ##### ##### ### # ### # ### ### # # ### ### ############# ##### # #
# # # # # #       # # #   # # #     #         #   # #   #   # # # # # #   #   # #   #   #   #       # #   # #   #   # # #   #   #           #     #   #
# # # # ### ####### # ### # # # ### ######### ##### # # # ### # # ### # # ##### ####### ### ########### # ### ### ### # # ### ### ######### # # ##### #
#   # #   # #       # # #   # #   #         # #   #   #   #   # #     # #     # #       #   #           # #   #   #     # #     # #   # #   # # #     #
# ### ### # # ### ### # ##### ### ######### # # # ######### ### ####### ### # # # ##### # # # ########### # ### ######### ##### # # # # # ### ### #####
# #     # # #   # #       #   # #     #   # #   #         # #   #   #   # # # #   #   # # # #     #     # #   #         #     # #   #   # #       #   #
# ### ### # ### # ####### # ### ##### # ### ####### ##### # # ### # # ### # ##### # # ### ####### # # # # ### ######### ##### # # ####### ### ##### # #
#     #   # #   # #   #   #   #     # # #   #   #   #   # # # #   #       #   #   # #   #       # # # # # # #   #     #   #   #   #     #   # #     # #
##### # ### ##### # # ### ### ### ### # # ### # ##### # # # # # ######### ### # ### ### # ### ### ### ### # ### # ### ### # ####### ### ### # ####### #
# #   # #   #   #   #   #   #   # #   # #   # #   #   # # # # #   # #   #   #     # #   #   #   #   #       #   #   #   # # #   #   # #     #         #
# # ### # ### # # ##### ####### # # ### ### # ### # ### # # # ### # # # ########### # ##### ### ### ######### ####### # # # # # # ### ############### #
# # #   #   # # #     #       # #         # # # #   # # # #   #   # # #             #   #   #     #         # #       # # #   #   #           #     # #
# # # ##### # # # ######### # # ######### # # # ##### # ####### ### # ################# ##### ### ######### # # ####### # ######### ##### ### ### ### #
#   # #   #   # # #         # #       # # # # #       #         #   #     # #         #   #   # # #         #   #     # #         #   #   #   #   #   #
# ### ### ##### ### ######### ####### # # # # # ##### ############# ##### # # ### ### ### # ### # # ####### ####### ### ### ####### ### ### ### # # ###
# # #   #     #     #       # #     # #   #     #   #   #         #   #   # #   #   #   #   # #   # #       #       #     # #   #   #   #       # # # #
# # ### # ############# ##### # # ### ########### ##### ##### ### ### # ### # ##### # ####### # ### # ######### ### # ##### # # # ### ############# # #
#     # #   #           #     # #   # #   #   # #     #       #       # #     #     # #       #   # #           # # # # #   # #   # # #         #   # #
##### # ### # # ######### ##### ### # # # # # # # # ### ############### ####### # ##### ##### ### # ####### ##### # # # # ### ##### # # ####### # ### #
#     #   #   # #       # # #   #   # # #   # #   #     #               #       # #   #   # #     #   #     #   #   #   # #   #     # # #     #   #   #
# ####### # ### # ##### # # # ### ### # ##### # ######### ############### ####### # # ### # ######### # ##### # ####### # # ### ##### # ##### ##### # #
#   #   # #   #   #   # # #   # #   # #   #   # #         # #             #   #   # #   # #       #   # #   # #   #     # #   #     # #     #       # #
##### # # ##### ### ### # # ### ### # # # # ### # ######### # # ########### # # ### # ### # # ### # ##### # # ### # ##### ### ##### # ##### # ### #####
#   # #   #   #     #   # #   # #   # # # #   # # #       # # # #           # # #   #     # # #   #   #   #   # #   # #     #   #   #   #   #   # #   #
# # # # ### # ##### # ### ### # # ### ### ### ### ### ### # # # # ########### # # ########### # ##### # ####### ##### # # ##### # ### ### ##### # # # #
# #   # #   #   # # #     #     #   #   #   #     #   # #   # #   #       #   # # # #         #   #   #   #           # # #   # #   #     #   # #   # #
# ####### ##### # # ############# # ### # # ####### ### # ### ##### # ##### ### # # # ##### ##### # ##### ### ######### ### # # # # ####### # ####### #
# #       # #   # # #           # #   # # #   #     #   # #   #   # # #     # # # #       # #     #     #     #       #   # #   # # #       #     #   #
# # ####### # ### # ### ####### ##### # ##### ##### # ### # ### # ### # ##### # # ######### ########### ##### # ##### ### # ####### # # ######### # ###
#           # #     #   #     # #     # #     #     #     # #   # #   #     # # #         #           #     # #     #     # #     #   #   # #     #   #
# ######### # ##### # ##### # # # ### # # ##### ##### ##### # ### # ####### # # ######### ##### # ####### ### ##### ##### # # ### ##### # # # ####### #
# #       # #     #   #   # #     # # #   # #   #   #   # #   #   #   #     #           #     # #       # #   # #   # #   #   # #     # # #     #     #
# # ##### ####### ### # # ######### # ##### # # # # ### # ##### ### # # ############### ##### # ####### # # ### # ### # ####### ##### # # ##### # ### #
# # #         #   #   # #     #     #     #   # # #   # #   #   #   # #         #     #   # # # #       #   #   #   #       #       # # #   # # # # # #
# # ######### # ####### ##### # ##### ##### ### ### ### ### # ####### ######### ##### ### # # ### ##### ####### ### # ##### # # ##### ##### # # # # # #
# #     #   # # #   #   #     # #     #   #   #   #   #     # #     #       # #     # #   # #   # #   # #         # # #   # # #       #     #   # #   #
# ##### # ### # # # # ### ##### # ##### # ### ### # # # ##### ### # ### # # # ##### # # ### ### # # ### # ####### # ### # ### ######### ##### ### ### #
#     # #   # # # #   # # #       #     #     # # # #   #     #   #   # # #   #     # #     # # # # #   # #     # #   # #     #         #     # #   # #
####### # # # # # ##### # ####### # ########### # # ##### ##### ##### ### ### # ##### ##### # # # # # ### # ### ##### # ######### ##### ### ### # # ###
#       # #     # #     #       # # #           # #     #       #         #   #     #       # # # # #     # #       # #     #   #   # #   # #     #   #
# ####### ####### # # # ####### ### # ### ####### ########### ##### ########### ### ### ##### # # # ##### # ####### # ##### # # ### # ### # ######### #
# #       #     # # # # #     #   # #   #       #     #       #   # #   #     #   #   #   #   #   #     # #   #   #   #   #   # # #   #   #   #     # #
# ######### ### # # # ### # # ### # ### ####### ##### # ####### # ### # # ### ##### # ### ### ##### # ### ### # # ### # ####### # ### # ##### # ### # #
#           # #   # #     # #   #   #   #     # #     # #   #   #     #   # #     # # # #   # #   # #       # # #       #   #   #     # #   # #   #   #
# ########### ##### ####### ### ######### ### # # ### # ### # ############# ##### # # # ### # # # # ######### ######### # # # ### ##### # # # ### ### #
#   #         #   # # #     # #   #       #     # #   #   # #     #         #   # # # #     #   # #   #   #   #     #   # #   #   #   # # # #   # # # #
### # ### ### # # # # # ##### ### ### # ######### ####### # ##### # ### # ### # # ### # ######### ### ### # ### ### ##### ##### ### # # ### ### # # # #
#   # #   #   # # #   #   #     #     # #       #       # # #     #   # # #   #       # #       #   #     #   # # #     # #     #   # #   # #     #   #
# ##### ### ### ### ##### # # ######### # ##### # ### # # # # ####### # ### ########### # ##### # # ##### ### # # ##### # # ##### ### ### # # #########
# #     #   # #   # #     # # #         # #   # #   # # # # #       # #     #     #     # #   #   #   #   #   #       # # # #     #   #   #   #       #
# ### ##### # # # # # ##### ### ######### # ### ##### # # # ####### ######### ### ### ### # ######### # ### ######### # # ### ##### ### ####### ##### #
#   #     # #   #   # #   #     # #   #   #           # # #     # #       #   # #   #     #         # # # # #     #   # # #   # #   # #   #     #   # #
### # ### # # ####### # ### ##### # # # ### ########### # # ### # ####### # ### ### ####### # ##### # # # # # ### # ### # # ### # ### # # # ##### # # #
#   #   # # #   #     #   #   #     # # #     #   #   # #   #   #   #     #   # #   #     # #   #   # #   #   # #   # #   #   #   #   # # # #     # # #
# ####### # ##### ##### # ### # ##### # ####### # # # # # ##### # ### # ##### # # ### ##### ### ##### ### ##### ##### ####### # ### ### # # ##### ### #
# #       #       #   # #     #   #   #     #   #   # # # #   #   #   # #       # # #         #       # # #         #         # # #     #   #     #   #
# ### ############# ### ########### ####### # ####### ### # # ##### ##### ####### # # ######### ####### # ####### # ### ####### # # ####### # ##### # #
# #   #     #     #     #     #   #       # # #   #   #   # #       #     #     # #   # #     #         #         #   #   #   # #   #     #   #   # # #
# # ##### # ### # # ##### ### # # # ### ### # ### # ### ### ##### ### ##### ### # # ### # ### ##### ################# ### # # # # ### ### ### # # # # #
#   #     #   # # # #     #   # # #   #   # # #   # #   #   #   # #   #   # # #   #     # # # #   # #               #   # # #   #   # #     # # #   # #
####### ##### ### # # # ### ### # ####### # # # ### # ### ##### # # ### # # # # ######### # # # # # # ######### ####### # ### ####### ##### # # ##### #
#       #   #     # # # # #   # #   #   # # # # #   # #   #   #   # #   #   #   #     #   # # # #   #         # #     # #   # #     #     # # # #   # #
# ### ### # ####### ### # ### # ### # # # # # # # ### # ### # ##### # ########### ### # ### # ############### # # ### # ### # # ### ##### # ### # # # #
#   #     #             #       #     #   #     #     #     #       #               #       #                 #     #       #   #         #     # #  E#
#######################################################################################################################################################
