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