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