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