___     ___
                                                /::_\._./_::\
                             _____      ____   {::(_>[_]<_)::}
                            /'  /~\    /' /~\  ^--,,/:i:\,,--^
          __:::^:::__       /   /   \  /  /   \   /:/_|_\:\
         /::_.%%%._::\      \   )\,."~~~,/ \   ) (:/     \:)
        /::(_%%%%%_)::\      ~~~ / ^   ^ \  ~~~    8o8o8o8::
       (:::/ ^   ^ \ ::)        /  @   @  \       /       \:
       :~~/  @   @  \~~:       (^v^  *     )      ----o--__|__
       :.(     *     ).:        \. ^\|/^ ./             /     \
       :::\   ^v^   /.::      ___ |_   _| ___           *o*o*o*  (\/)
       ::::`).   .('::::    /\   |\|>o<|/|   /\        /_______\  \/
        /`-',_`*' _,`-'\    |    ~|\:::/|~    |            0  `~~~~~~~~'
       (   )  `v'   (   )   |   | `\\://' |   |               |^v^v^v^v|
        8o8(        )8o8    |   |   |o    |   |               |________|
        \   o@*0*@o ' /     |___|   `-.   |___|                 ||  ||
         `. :o@*@o;' ;      (  .|.-' Y `-.|.  )    ==      `~~~~~~~~~~~~~~~'
         / \ ;o@o( /  \      "" \|   |   |/ ""  .  ||      |o8o8o8o8o8o8o8o|
        :     *o*;     ;        ||   |   ||   .   ,'`.     |^v^v^v^v^v^v^v^|
       :       ) (      ;     /\/|   |   |\/\ |=| | :|     `~~~~~~~~~~~~~~~"
      `.        (       ';    \__|   |   |__/ `.'|=|`|       ||        ||
      :                 ';       |   |   |     I `.'~   `~~~~~~~~~~~~~~~~~~~~~'
     `. o o o o o o o o o;      _|___|___|_   `~' I     |o8o8o8o8o8o8o8o8o8o8o|
      8o8o8o8o8o88o8o8o8o8     (_____|_____)  -------<@ |^v^v^v^v^v^v^v^v^v^v^|
                                                        `~~~~~~~~~~~~~~~~~~~~~"