____###########________________________ __###############______________________ __################_____________________ _##################_________#####______ __##################_____###########___ __##################___##############__
___##################_################_ ____##################################_ ______###############################__ _______#############################__ ________###########################____ __________########################_____
___________######################______ ____________###################________ _____________################__________ _______________#############___________ ________________##########_____________ ________________#########______________
_________________######________________ __________________####_________________ __________________###__________________ ___________________#___________________