______________________________________________________________________________________
__##########################################################################_######___
__#########################################################################___#####___
___####_______________________________________________________________________________
___####_________#####_____###___####___##_#__####_____#######____##_#__####__##_###___
___####__#____####_####___###########__###########__####__####___##########__######___
___########__####___####___####___###___####__####__###____###____####__###___####____
___#######___####___####___####__####___####__####_________###____###___###____###____
___####__##__###########___####__####___####__####___#########____###___###___####____
___####______####__________####_________####________###____###____###__________###____
___####______####__________####_________####________###____###____###_________####____
___####______####___####___####_________####________###____###____###__________###____
_########_____###___###___######_______######_______#####_#####__#####________#####___
_###_####______#######____##_###_______######__________#####_##__#####_______###_##___
______________________________________________________________________________________