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