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