__######__##___##_###___##_######__##___##_##_________###___
_##_______##___##_####__##_##___##_##___##_##________##_##__
_##__###__##___##_##_##_##_##___##_##___##_##_______##___##_
_##____##_##___##_##__####_##___##_##___##_##______#########
_##____##_##___##_##___###_##___##_##___##_##______##_____##
__######___#####__##____##_######___#####__#######_##_____##