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