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