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