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