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