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