############  ####      ####
############  ####    ####
####    ####  ####  ####
####    ####  ########
####    ####  ########
####    ####  ####  ####
############  ####    ####
############  ####      ####