__________________________________________________________##__##________________
__________________________________________________________#___##________________
____#######___###_###########_#########______#######____##########__###_____###_
__##########__###_###########_##########___##########___##########_#####____###_
_###______##__###_____###_____##______###_###______###__###________######___###_
_##___________###_____###_____###_____##__##________###_#########__#######__###_
_##___________###_____###_____##########__##________###_#########__###_####_###_
_###__________###_____###_____###_####____###_______###_###________###__#######_
_####____###__###_____###_____###___###___####____####__###________###___######_
___#########__###_____###_____###____###____#########___##########_###____#####_
________#_______________________________________________________________________