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

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

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