#####$$                            ^    
####$$                             !  ##
###$$       #     #  #  #  #  #    !  ##
##$$       #$#    #  #  #  #  #----!# ##
#$$         # ------------------   !# ##
#                                  !# ##
#              *   *   *#   *     %!# ##
#              #       #$#        %!# ##
#             #$#       #         %!# ##
#              #   *              %!# ##
#                                 %!# ##
#                                  !# ##
#$$                                !# ##
# $$   !     *               !!----!# ##
#  $$  !   !###         ###! !!!!$$ # ##
#   $$*!   !!!### * * ###!!! !!!$$  # ##
#    $$!   !!!!!### ###!!!!! !!$$   #o##
#      !   !!!!!*    * !!!!! !!  *  #$##
#####################################$##
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$