#########################################################
#_________________________________________________#____##
##___####################################################
##__######_____###______##_______##______##_______#____##
##_____##__###__##___#___##__##__##__##__###___#__##___##
##_____##_______##__##___##__##__####____###__##__##__###
##___####__#######___######__#####___##__###__######___##
##___####__###__##__#######__#####___##__###__######__###
#_____###_______##___#####____#####_______#____#####___##
#########################################################