__    __  __      __  _______   _______    ______   __    __  ________  ________ 
      |  \  |  \|  \    /  \|       \ |       \  /      \ |  \  |  \|        \|        \
      | ##  | ## \##\  /  ##| #######\| #######\|  ######\| ##\ | ##| ######## \########
      | ##__| ##  \##\/  ## | ##__/ ##| ##__| ##| ##__| ##| ###\| ##| ##__       | ##   
      | ##    ##   \##  ##  | ##    ##| ##    ##| ##    ##| ####\ ##| ##  \      | ##   
      | ########    \####   | ####### | #######\| ########| ##\## ##| #####      | ##   
      | ##  | ##    | ##    | ##      | ##  | ##| ##  | ##| ## \####| ##_____    | ##   
      | ##  | ##    | ##    | ##      | ##  | ##| ##  | ##| ##  \###| ##     \   | ##   
       \##   \##     \##     \##       \##   \## \##   \## \##   \## \########    \##