".")) ?>
 # # # #      # # #    # #      #    # #    #    #    #    #    #  #    #  #  #  #          #         #  #  #  #   #  #   #  #   #   #   #   #   #    #   #    #    #    #     #     #     ##      ##      ###        ###             #########               ########             ###        ##      ##     ##    ##    #    ##   #    #   #   #   #   #  #   #  #  #  #  #  #  #  #  #    #  # #  # #    #      # #        # # # # # # # # # # #        # #      #    # #    #    #  # #  #  #    #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #      #   #      #   #      #   #  #   #   #  #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #       #  #    #  # #  # #  # #    # #    # # #        # # # # # # # # # #      # # #    # #    #    #    #  #    #  #  #  #  #      #  #   #  #   #   #   #    #   ##   ##    #     #      #      ###       ###            ######                       #######            ###        ##       ##     ##     ##    #     #    #    #    #   #    #   #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #  #  #  #       #  #    #    #  # #  # #    #    # #    # #    # # #      # # #        # # # # # #                     # # # # # #          # # #    
 # # # #      # # #    # #      #      #    #    # #  #    #    #  #    #  #  #       #  #  #  #  #      #  #  #   #  #   #  #   #   #   #   #   #   #    #   ##   ##    #    ##    ##     ##     ##       ##        ###             #######                    #######            ###        ##      ##     ##     #    #    ##   #    #   #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    # #    # #      # # #                     # # # #      # #    #    # #    #  #    #    #  #  #  #                    #  #  #      #  #      #      #   #  #   #   #  #   #   #  #   #   #   #  #   #   #      #   #  #   #  #   #  #   #  #  #   #  #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    #      # #      # # #                     # # #      # #    #    # #  #    #  #          #      #  #  #   #  #   #   #   #    #   ##   ##    #     #     ##      ##        ###           #####                            #####            ###        ##      ##      ##    ##     #    ##   ##   ##   #    #   #   #   #   #   #   #  #   #  #   #  #  #  #                 #  #  #  #    #  #    #  # #  # #  # #    #    # #    # #    # #        # # #        # # # # # # #                 # # # # # # #        # # # #    
 # # # #      # # #    # # #    # #    #    # #  # #  # #  #    #  #    #  #       #  #  #  #  #  #  #      #  #  #   #  #   #   #  #   #   #    #   #   ##   #    #    ##    #     #     ##     ##       ##        ###            ######                          ######           ###       ###      #     ##     #    ##   ##   #    #   #   #   #  #   #  #      #  #  #  #       #  #    #    #    # #    # # #        # # # # # # # # #        # # #    # #    # #  # #  # #  #    #  #  #       #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #      #   #   #   #   #  #   #   #   #  #   #   #  #   #  #   #  #      #  #  #                    #  #  #       #    #  # #    #    # #    # # #        # # # # # # # # #        # #      # #    #    #  #    #  #  #        #  #  #      #   #  #   #   #    #   ##   ##    #     #     ##      ##       ###           #####                               #####           ###        ##      ##     ##     ##    #     #    #    #    #   #   #    #   #      #   #      #      #  #  #      #  #  #  #       #  #  #    #  #    #  #    #    #    # #    #      # #    # #      # # #          # # # # # # #               # # # # # # #          # # #      
 # # # #      # # #      # #    # #    #    # #    #    #  # #  #    #  #  #    #  #  #  #  #  #  #  #  #      #  #      #   #  #   #   #   #   #    #   #    #    #    #    ##    ##     #      ##      ##        ###           ######                             ######           ##        ##      ##     #     #    ##   ##   #    #   #   #      #   #  #  #              #  #  #    #    #    #    # #      # # # #                   # # # #      # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #   #  #   #   #   #   #  #   #   #   #   #   #   #   #   #  #   #   #   #  #   #   #  #   #  #   #  #  #      #  #  #  #  #  #  #       #  #    #  # #  # #    #    # #      # # # #                   # # # #      # #    #    #    #  #    #  #  #  #  #  #  #      #   #  #   #   #    #   ##   ##    #    ##     ##     ##       ###          #####                                   #####          ###       ###      ##     ##     #     #    #    ##   #    #   ##   #   #   #   #   #  #   #  #   #  #  #      #  #  #  #  #  #       #  #  #    #  #    #    #    #    # #    #      #      # #      # # #          # # # # # # # #           # # # # # # # #        # # # #      
 # # # #      # # #      # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #   #    #    ##    #     #     ##     ##      ##        ###           #####                                 #####          ###       ##      ##     #     #    ##   ##   #   ##   #   #  #   #      #  #  #  #  #  #  #  #    #  #    # #  # #      # #        # # # # # # # # #        # # #    # #    # #  # #  #    #       #  #  #              #  #  #  #      #  #   #  #   #      #   #   #   #  #   #   #   #   #   #   #   #   #   #   #   #   #   #   #      #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    # #    # #        # # # # # # # # # #        # #      #    # #  #    #       #  #  #  #  #  #   #  #   #  #   #   #    #   #    #    ##    ##     #      ##       ##          ####                                       ####          ###       ###      #      #     ##    ##    #    #    #   #    #   #   #   #   #   #      #   #  #  #      #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #    # #      # #      # # #          # # # # # # # #       # # # # # # # # #          # # #        
 # # # #        # #      # #    # #    # #    #    #    #    #    #  #       #  #  #                 #  #  #  #   #  #      #   #      #   #   ##   #   #    #    #    #    ##    ##    ##     ##      ###       ###          #####                                     ####          ###       ##     ##     ##    #    ##   ##   #   ##   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #    # #      # # #                       # # #      # #    #    # #  # #  #    #  #       #  #  #  #  #  #      #  #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #   #   #   #   #    #   #      #   #   #   #   #  #   #      #  #   #  #  #      #  #  #  #  #       #  #    #  #    #    # #    # #      # # #                       # # #      # #    #    #    #  #       #  #  #  #      #  #   #      #   #    #   #    #    ##    #     ##     ##       ###         ####                                          ####         ###       ##      ##     ##     #     #    #    ##   #    #   #   ##   #   #  #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #    # #    # #      # #      # # #          # # # # # # # # # # # # # # # # # # # #          # # #      # 
 # # # #        # #      # #      #      #    #    # #  #    #    #  #    #  #  #       #  #  #  #         #  #  #   #  #   #  #   #   #   #   #   #    #   ##   #    ##    #    ##     #      #      ###       ###         #####                                        ####          ##       ##      ##    ##    ##    #    #   #    #   #      #   #  #   #  #  #  #  #  #       #    #  # #    #      # #      # # # # # # # # # # #        # #      #    # #    #  # #  #    #  #  #  #  #  #  #  #  #  #  #   #  #      #   #  #   #   #  #   #   #   #   #   #   #    #   #   #   #   #    #   #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #    #    # #    # # #      # # # # # # # # # # # #      # # #    #    # #  #    #  #       #  #      #  #  #   #      #   #    #   #    #    #     #     ##     ##       ##         ####                                            ####          ##       ##      ##     ##    ##    ##    #    #    #   #    #   #   #   #   #      #   #  #      #  #  #                 #  #  #  #    #  #    #  # #  #    # #  # #    # #    # #    # # #      # # #        # # # # # # # # # # # # # # # # # # # #          # # # #      # 
 # # # # #      # # #    # # #    # #    #    # #  # #  # #  #    #    #  #  #       #  #  #  #  #  #  #      #  #      #      #   #   #   #   #   #   #    #    #    #    #     #     ##     ##      ##       ##          ####                                            ###          ##       ##     ##     #    ##    #    #   #    #   #      #   #  #      #  #  #  #       #  #    #    #    # #      # # #                         # # #    # #    # #    #    #  #    #  #       #  #  #  #  #      #  #  #   #  #   #  #   #   #   #   #  #   #    #   #   #   #   #    #   #   #   ##   #   #   #    #   #   #   #   #   #   #   #   #  #   #      #      #  #      #  #  #  #  #  #    #  #  #    #    #    #    # #      # #            # # #            # #      # #    #    #    #  #  #              #  #  #   #      #   #   ##   #    #    #    ##    ##     ##       ##         ###                    ########                    ####         ##       ##      ##     #     ##    #    ##   ##   #    #   #   #   #   #   #   #      #      #  #  #      #  #  #  #       #  #  #       #    #  #    #    #    # #    #      #      # #      # # # #        # # # # # # # # # # # # # # # # # # # #          # # #        # 
   # # # #      # # #      # #    # #    # #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #  #      #  #   #  #   #      #   #   #    #   #   ##   #    #    ##    ##    ##     ##      ##       ##         ####                                               ####        ###      ##      #     #     #    #    #   #    #   #      #   #  #  #      #  #       #  #    #  # #    #    # #        # # # # # # # # # # # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #      #   #   #   #   #   #   #   #   #   #    #   #   #    #   #    #   #   #    #   #   #    #   #   #   #   #   #   #   #  #   #  #   #  #   #  #  #  #  #     #  #  #  #  #    #    #  # #    #    # #      # # # #               # # # #      # #    #    # #  #    #  #  #        #  #  #  #   #      #   #   #    #   ##    #    #     ##     ##      ##         ###                ###################                ###         ##       ##      ##     #     #    ##    #    #    #   #    #   #   #   #      #   #  #   #  #  #   #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    # #    # #      # #      # # #          # # # # # # # # # # # # # # # # # # # #          # # #      # # 
   # # # #        # #      # #    # #    # #    #    #    #    #  # #  #  #    #  #  #  #           #  #  #  #      #  #   #  #   #   #   #   #   #   ##   #    #    #    #     #     #     ##      ##       ##         ###                 #################                ####        ##       ##     ##    ##    #    #    #   ##   #   #      #   #  #  #              #  #  #    #    #    # #    # # #          # # # # #          # # #    # #    # #  # #  #    #  #    #  #  #  #  #  #  #      #  #      #      #   #   #   #  #    #   #   #   #   #    #   #    #   #    #   #    #   #    #   #    #   #   #    #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #    #  #  # #  #    #    # #      # #        # # # # # # # # #        # #    # #    #    #    #  #  #  #  #  #  #  #  #   #  #   #   #   #    #   #    ##    #     #     ##      ###        ###             ##########################              ####        ##       ##      #     ##    ##    #    ##   ##   #    #   #   #   #   #   #      #   #  #  #   #  #  #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #    # #    # #    # # #      # # #          # # # # # # # # # # # # # # # # # # #          # # # #      # # 
   # # # #        # # #    # #      #      #    #    # #  #    #    #  #    #  #  #          #  #         #  #  #      #      #   #   #  #   #    #   #   ##   #    #    ##    #     #     ##      ##      ###        ####              #########################              ###        ##      ##     ##     #    ##   ##   #    #   #   #      #   #  #  #           #  #  #    #  # #  # #    # #      # # #                   # # #      # #    # #    #    #  #    #  #  #                 #  #  #      #      #   #   #  #   #   #   #    #   #   #    #   #    #   #    #   ##   #    #   ##   #    #   #    #   #    #   #   #   #   #   #   #   #   #  #   #  #   #  #  #      #  #  #       #  #  #    #    #    #    # #      # # #                       # # #      #    # #    #  #    #  #  #  #  #  #  #  #   #  #   #   #   #   ##   #    #    ##    ##     ##      ##       ###             #######                 #######             ###        ###      ##     ##     ##    ##    #    #    #    #   #   #    #   #  #   #   #      #  #   #  #  #  #              #  #  #  #    #  #    #  # #  #    # #  # #    #      # #    # #      # # # #        # # # # # # # # # # # # # # # # # # # #          # # #        # # 
     # # # #      # # #      # #    # #    #    # #    #    #  #    #    #  #  #       #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #   #   #   ##   #    #   ##    #    ##    ##     #      ##      ###        ###             #########             ########             ###        ##      ##     #     #     #    #   #    #   #   #   #  #   #  #  #  #  #  #  #  #  #    #    #    #      # #      # # # # # # # # # # #        # #    # #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #      #   #  #   #   #   #   #   #    #   #   #    #   ##   #    #   ##   #    #    #    #   ##   #    #    #   #    #   #   #    #   #   #   #      #   #      #      #  #  #  #        #  #  #  #    #  #    #    # #    # #      # # # # #         # # # # #      # #    #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    #    #     #     ##      ##       ###           ######                         ######            ###       ###      ##     ##     #     #    ##    #   ##   #    #   #   #   #   #   #  #   #  #   #  #  #         #  #  #          #  #  #    #  # #  #    #    #    # #    #    # #      # #      # # #          # # # # # # # #         # # # # # # # #          # # #      # # # 
     # # # #        # #      # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #   ##   #    #    #     #    ##     ##     ##      ###       ###            #######                      #######           ###       ###      #     ##    ##    #    #   ##   #   #   #   #  #   #  #  #  #  #  #  #  #    #  #    #    # #      # #            # #            # # #      #    # #    #  #    #  #    #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   #   #   #   ##   #   ##   #    #   ##   #    #    #    #    #    #    #    #    #   #    #    #   #    #   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #    #  #    #    #    # #    # #        # # # # # # # # #        # #    # #    #    #  #    #  #  #  #  #  #  #   #  #   #   #   #   #    #   ##    #    ##     #      ##       ###          #####                               #####           ###        ##      ##     ##     #    ##    #    #    #    #   #   #   #   #   #   #   #  #   #  #  #      #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #    # #    # # #      # # #        # # # # # # # #           # # # # # # # #          # # #      # # # 
       # # # #      # # #    # #      #      #    #    #    #    #    #  #       #  #  #  #           #  #  #  #      #  #   #   #  #   #   #   #   ##   #   ##   ##   ##    #     #     ##     ##      ##        ###           #####                              #####          ###       ##      ##     #     #    #    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #    #  # #  # #    # #      # # #                 # # # #      # #    #    #    #    #  #  #    #  #  #  #      #  #  #   #  #   #      #   #   #   #   ##   #   #    #   ##   #    #    #    #    #    #    #    #    #    ##   ##   ##   #    #    #   #    #   #   ##   #   #   #      #   #  #   #  #      #  #  #  #  #  #       #  #    #    #      #      # # #                         # #      #    # #    #  #    #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    ##    #     ##     ##       ###         #####                                    #####          ##        ##      ##     ##    ##    ##    #    #    #   #    #   #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #  #  #       #  #    #  # #  #    # #  # #    #      # #    # #      # # #          # # # # # # #               # # # # # # #        # # # #      # #   
       # # # #        # #      # #    # #    #    # #    #  # #  #    #  #    #  #  #       #  #  #  #      #  #  #   #  #   #  #   #   #   #   #   #   #    #    #    #    ##    #     ##     ##      ##        ##           ####                                   #####          ##       ##      ##    ##    ##    #   ##   #   #   #   #   #  #   #  #  #  #  #  #  #  #    #    #    #      # #      # # # # # # # # # # #        # #    # #    #    #  #    #  #  #              #  #  #      #      #   #   #   #   #   #   #   ##   #    #   ##   #    #    #    ##   ##    #    #    ##    #    #    #    #    #    #    #    #   #    #   #   #   #   #   #   #   #  #   #  #  #      #  #  #  #  #    #  #    #  # #    #    # #      # # # #               # # #      # #    # #  # #  #    #  #  #  #  #  #  #      #   #  #   #    #   #    #    #    ##    ##      ##      ###         ####                                         ####         ###       ##      ##     ##    ##    #    ##   ##   #    #   #   #   #   #   #   #  #   #  #   #  #  #  #                 #  #  #    #  #    #  #    #    #    #    # #    # #      # #      # # #        # # # # # # #                 # # # # # # #        # # # #      # #   
         # # # #      # # #    # #      #    # #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #    #   #    #    #    ##    ##    ##     ##      ##       ###         #####                                       #####         ##       ##     ##     #     #    #    #   #   #   #   #   #  #   #  #  #  #  #  #  #    #  #    #    # #    # # #        # # # # # #        # # #    # #    #    #    #    #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #    #   #    #   ##   #    #    ##   ##    #    #     #    #    ##    #    ##    #    #    #    #    #    #    #   #    #   #   #   #   #   #  #   #      #  #      #  #  #  #    #  #  #    #    #    #      # #      # # # # # # # # # # #        # #    #    #    #    #  #  #  #  #  #  #      #      #   #   #    #   #    ##    #     #      ##      ##         ####                                             ####         ##       ##      ##     #     #     #    #    #    #   #    #   #   #   #   #  #   #  #   #  #  #      #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    # #    # #    # #      # # #        # # # # # # #                     # # # # # #        # # #        # #   
           # # #        # #      # #    # #    #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #   ##   ##    #    ##    ##     ##      ##       ##         ####                                             ###         ##       ##     ##    ##    #    #    #    #   #   #  #   #      #  #  #  #  #  #  #    #  #    # #    #      # # #                     # # #      # #    #    #    #  #    #  #  #  #  #  #  #  #      #  #   #   #  #   #   #   #    #   #    #   #    #    #    #    ##    #    ##    #    ##    #     #    ##    #    ##    #    #    ##   ##   #    #    #   #    #   #   #   #   #  #   #  #   #  #  #      #  #       #  #  #    #    #    # #    # # #        # # # # # # #        # #    # #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    #    ##    ##     ##      ##        ####               ##################                ####        ###      ##      ##     #     #    ##    #    #   ##   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #       #  #    #  # #  #    #    # #    #    # #      # #      # # #        # # # # # #                       # # # # # #        # # #      # # #   
           # # # #      # #      # #    # #    # #  # #    #    #  #    #  #    #  #  #                    #  #  #      #  #   #   #  #   #   #   #    #   #    #    #    #    ##     #     ##      ##      ###        ####                 ##############                 ####        ##       ##     #     #     #    #   ##   #   #   #   #  #   #  #  #  #  #  #  #  #    #  # #  # #    # #      # # # # #         # # # #      # #    # #    #    #  #    #  #  #  #  #  #  #  #      #      #   #   #  #    #   #   #   ##   #    #    #    #    #    ##    #     #    ##    ##    #     #     #    ##    ##    #    ##    #    #    #    #   #    #   #    #   #   #      #   #  #   #  #  #                 #  #    #  #    # #    #      # # #                       # # #    # #    #    #    #  #  #  #  #  #  #  #      #   #   #   #   #   ##   ##    #     #     ##      ##        ###             ############   ############             ####        ##      ##      ##     #     #    ##   ##   ##   #   ##   #   #   #   #      #   #  #      #  #  #  #           #  #  #  #    #  #  # #  #    #    #    #    # #    # #    # #      # # #        # # # # #                           # # # # # #        # # #      # # #   
#            # # #        # #      # #    #      #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #      #  #      #      #   #   #   #   #   #    #   #    #    ##    #     #     ##     ##       ##         ###              #########################             ###        ##       #     ##     #    #    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #    #    #    #    # # #      # # # # # # # # # #      # # #    # #  # #  # #  #    #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   #   #    #   ##   ##   ##   ##    #    ##    #     #     #     #     #     ##    ##    ##    #     #    ##    #    #    ##   #    #    #   #   #    #   #  #   #   #  #   #  #  #                 #  #    #  # #  # #    # #      # # #                 # # #      # #    #    #  # #  #  #  #     #  #  #  #   #      #   #    #   #    #    #     #     ##      ##       ###            ######                     ######            ###        ##       ##     ##     #    ##    #    #    #    #   #   #   #   #   #   #      #      #  #         #  #  #  #       #  #  #    #  #    #  # #  # #  # #    #      #      # #      # # #      # # # # #                               # # # # #        # # #      # # #   
# #            # # #      # # #    # #    # #    #    # #  # #  #    #    #  #       #  #  #  #  #  #  #  #  #  #   #  #      #   #  #   #   #   #   ##   #   ##   ##   ##    #     #     ##     ##       ##        ###            #######                  #######            ###       ###     ##     ##    ##    #    #   #   #       #   #      #  #  #     #  #  #  #    #    #    #      # #          # # # # #          # #      #    # #  #    #       #  #  #  #  #  #  #   #  #      #   #   #   #   #   #   ##   #    #    #    #    #     #    ##    ##    ##    ##     #     #     ##     #     #     #     #     #    ##    #    #    #    #    #   #   #    #   #      #   #      #  #         #          #  #    #  # #  # #    # #      # # # # # # # # # # # #      # #    # #    #  # #  #  #           #  #  #   #  #   #   #   #    #   ##    #    ##     #      ##       ###          #####                             #####           ###        ##      ##     ##    ##    ##    #    #    #   #    #   #   #   #   #  #   #      #  #      #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # #    # #      # # #        # # # #                                 # # # # #        # # #      # #     
# # #          # # # #      # #      # #    #    # #    #    #    #  # #  #       #  #  #                    #  #  #   #  #   #  #   #   #   #   #   #   #    #    #    #    #     #     ##     ##      ##        ###           ######                           #####           ##       ###     ##     #     #    #    #    #   #   #   #  #   #  #  #           #  #  #    #    #    # #    # # #                       # # #    # #    #    #    #       #  #  #  #  #  #  #      #      #   #   #   #   #   #    #   #    #    #    #     #    ##    ##    ##    ##     #     ##     #     ##     ##    ##     #     ##    ##    #    ##    #    #    #    #   #   ##   #   #   #  #   #      #  #      #  #  #       #  #    #  # #    #    # #        # # # # # # # # # #      # #    # #    #    #  #  #              #  #  #   #   #   #   #   #    #    #    ##     #      ##       ##          ####                                    ####          ###       ##      ##     ##    ##    ##    #    #   ##   #   #   ##   #  #   #   #      #  #   #  #  #  #           #  #  #  #  #    #  #    #    #    #    #    #      #      # #      # #        # # # #                                     # # # #        # # #      # #     
# # # #          # # #      # # #    # #    # #    #    # #  #    #    #  #    #  #       #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #    #   #    #    #    ##    #     ##     ##      ##       ###          #####                                  ####          ###       ##     ##     #    ##    #   ##   #   #   #   #      #  #                 #  #    #    #    # #      # # #                 # # #      # #    #    #    #       #  #  #  #  #  #  #      #  #   #   #   #   #   #   #    #   #    #    #    ##    #     #     #     ##    ##     ##     ##     ##     #      #     ##     ##    ##     #    ##    ##    #    #    #    #   #    #   #   #   #   #  #   #  #      #  #  #  #  #    #  #    #  # #    #      # #        # # # # # # #        # #    # #    #    #  #       #  #  #      #  #   #  #   #   #    #   ##   ##    #     #      ##      ###        ####                                          ####         ###      ##      ##     ##    ##    #    ##   ##   #    #   #   #   #   #   #  #   #  #   #  #  #      #  #  #  #  #       #  #  #    #    #  #    #    # #  # #    # #    # #      # # #      # # # #                                       # # # #        # # #      # #     
# # # # #          # # #      # #      # #    #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #   ##   #    #    ##    #     ##     ##     ###       ##          ####                                        ####         ##       ##     ##    ##    #    #    #   #    #  #   #   #  #      #  #  #       #  #    #    #    # #      # # # # # #   # # # # # #      # #    #    #    #    #  #  #  #  #  #  #  #  #   #  #   #   #  #   #    #   #   ##   #    #    ##    #    ##    ##    ##     #     ##     ##      #      ##     ##     ##     ##     ##     #     ##    ##    #     #    #    #    #   #    #   #   #   #   #  #   #  #   #  #  #  #  #  #       #  # #  # #    #      # #                         # # #    # #    #    #  #    #  #  #  #  #      #  #   #   #   #   #    #    #    #     ##     ##      ##        ####                  ##########                  ####         ##       ##     ##     ##    ##    #    #    #    #   #    #   #   #      #   #  #   #  #      #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    #      #      # #    # # #      # # # #                    # #                  # # # # #      # # #      # #     
# # # # # #          # # #      # #    # #    # #    #    #    #    #    #  #    #  #  #                       #  #  #   #  #   #  #   #   #   #   #   #    #   ##   ##   ##    #     ##     #      ##       ##         ####                                             ####        ###      ##     ##    ##    #    #   ##   #   #   #      #  #   #  #  #  #  #    #  #    #    #      # #      # # # # # # # # # #      # # #    #    #    #    #  #  #           #  #  #      #   #  #   #   #   #    #   #    #    #    #     #    ##    ##     #     ##     ##      ##     ##      ##     ##      ##     ##     ##     ##     #     ##    #     #    #    #    #    #   #   #   #   #   #   #  #      #  #  #  #  #  #  #    #  #    # #    #      # # #                     # # #    # #    #    #  #    #  #  #  #  #  #   #  #   #      ##   #   #    #    ##    ##     ##     ###       ###              ########################              ###        ###      ##      #     ##    ##    #    #    #   ##   #   #   #   #   #   #  #   #  #   #  #  #  #              #  #  #  #    #  #    #  #    #    # #  # #    # #    # #      # #        # # #                # # # # # # #                # # # #      # # #      # #     
  # # # # # #        # # #      # #      # #    #    # #    #    #  # #  #    #  #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #  #   #   #    #   #    #   ##    #    ##    ##    ##      ##      ###        ###               #####################               ###        ##      ##     #     #    ##   #    #   #   #   #   #  #   #  #  #  #  #  #       #    #    #      # #        # # # # # # #        # # #    #    # #  #    #  #                 #  #  #   #  #   #   #   #   #   ##   #    #    #    #     #    ##     #     ##     ##     ##      ##      ##      ##      ##      ##     ##      ##     ##     #     ##    ##    #    ##   ##   #    #   #    #   #   #  #   #      #  #  #        #  #  #    #  #    #    # #      # # #                 # # # #    # #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #    #   ##    #    ##     #      ##        ##            #######                  #######            ###        ##       #      #     ##    ##    #    #    #   #    #   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #    # #      # #        # # #              # # # # # # # # # # #            # # # #      # # #      # #     
      # # # # #        # # #      # #    # #    # #    #    #    #    #    #  #       #  #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #   #    #    #    #    ##    ##    ##     ##       ##        ###            ########               ########            ###       ##      ##     #     #    #    #   ##   #   #      #   #  #  #  #  #  #  #  #    #    #    #      # #        # # # # # #        # # #    #    # #  #    #  #    #  #  #  #  #   #  #      #   #   #   #   #   #    #   ##   ##    #    ##    ##     #     ##     ##      ##      ##      ##       ##      ##      ##       #      ##      #      #     ##    ##    ##    #    #    #   ##   #   #   #   #   #  #   #  #         #  #       #  #    #    #    # #      # # #               # # #      # #    #    #    #  #  #           #  #  #   #   #   #   #   #    #    #    ##     #      ##       ##           #####                             #####          ###        ##      ##     ##    ##    ##    #    #   ##   #   #   #       #   #   #  #   #  #   #  #  #  #  #  #  #  #  #  #  #    #  #    #  # #  #    # #  # #    # #    # #    # # #      # # #            # # # # # # # # # # # # # #          # # # #        # #      # #     
          # # # #        # # #      # #    # #    #    # #    #    #  #    #    #  #  #       #  #  #  #  #      #  #  #   #  #   #  #   #   #   #   #    #   #    #    #    ##    #     ##     ##      ##        ###           #####                           #####           ##       ##      ##     #    ##    #   ##   #   #   #   #      #  #  #        #  #  #    #  # #    #      # #                         # # #    # #    #    #  #    #  #  #  #  #  #  #   #  #   #  #   #   #   #    #   #    #    #    ##    ##    ##     #     ##      ##      ##      ##       ##      ###      ###      ##       ##      ##      #      #     ##     #     #    #    ##   #    #   #    #   #      #   #  #      #  #  #  #  #    #  #    #    #    # #      # # # #         # # # #      # #    # #  #    #  #    #  #  #      #  #      #   #   #   ##   #    #    ##     #      ##      ###         ####                                     ####          ##       ##      ##     ##    ##    #    ##   ##   #    #   #   #   #   #   #  #   #  #   #  #  #         #  #          #  #  #    #  #    #    #    #    #    # #    # #      # #      # # #          # # # # # # # # # # # # # # # # #          # # #        # #      # #     
            # # # #        # # #    # #      #      #    #    #    #    #  # #  #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #  #   #    #   #   ##   #    #    ##    #     ##     ##      ##       ###         #####                                   ####          ##       ##     ##     #    ##   ##   #    #   #   #  #   #  #      #  #  #    #  #  # #  # #    #      # #                       # # #    # #    #    #    #  #  #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    #    #    #     #     #     ##     ##      ##      ##       ##       ##       ###       ##       ###      ###      ##      ##     ##     ##    ##    ##    #    #    #   ##   #   #   #   #   #  #   #  #  #  #  #  #  #  #    #  #    # #    # #      # # # # #   # # # # # #    # #    # #    #  #    #  #  #  #  #  #   #  #   #   #   #   #   ##   ##    #     #     ##       ##        ####                                           ####         ##       ##      #     ##    ##    #    ##   #    #   #    #   #   #   #  #   #      #  #      #  #  #  #  #  #  #  #       #  #    #  # #  #    #    # #    #      #      # #      # # #          # # # # # # # # # # # # # # # # # #          # # # #      # #      # #     
              # # # #        # #      # #    # #    # #    #    #    #  #    #  #    #  #  #                    #  #  #   #  #   #  #   #   #   #   #   #    #   #    #    ##    #     #     ##      ##       ##          ####                                         ####        ###      ##     ##    ##    #    #    #   #   #   #   #  #      #  #  #  #  #    #  #    #    # #      # #                     # # #    # #    #    #    #  #       #  #      #  #  #   #  #   #   #   #    #   #    #    #    ##    ##    ##     ##     ##      ##      ###      ###       ###       ###        ##        ##       ##       ##      ##      #      #     #     #    ##    #    #   #    #   #   #      #   #  #  #      #  #       #  #    #    #    # #      # # # # # # # # # # # #      # #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #    #   ##    #     #     ##      ##        ###               ##################                ###         ##      ##      ##     #     #    #    #    #    #   #   #   #   #   #   #      #  #   #  #  #  #              #  #  #  #    #  #    #    #    #    #    # #    # #    # #      # # #          # # # # # # #           # # # # # # # #          # # #      # #      # #     
 # #              # # #        # #      # #    # #    #    #    #    #    #  #    #  #       #  #  #  #  #  #  #      #  #      #   #  #   #   #   #   #    #   ##   #    ##    #     #     ##     ##       ##         ###                  #############                 ###        ##      ##     ##    ##    #    #   #    #   #  #   #      #  #  #  #  #  #  #    #    #    # #    # # #                   # # #      #    # #  # #  #    #  #  #  #  #  #      #  #   #   #   #   #   #   ##   #    ##    #    ##     #     ##      ##      ##      ###       ##        ###        ###        ###        ##        ##       ##       ##     ##     ##     #     #    ##   ##   #    #   #   #   #   #   #  #   #  #  #  #  #  #  #    #  # #  # #    # #      # # # # # # # # # # #      # #    #    #    #  #                 #  #   #   #  #    #   #    #    #     #     ##     ###       ###            ########             ########             ###       ###      ##     ##     #     #    #    #    #    #   #   #   #   #   #      #      #  #      #  #  #  #  #  #  #    #  #  #    #  # #  #    #    # #  # #    # #    # # #    # # #        # # # # # #                       # # # # # #        # # #      # # #    # #     
 # # # #            # # #        # #      #      #    # #    #    #    #  #    #  #    #  #  #  #           #  #  #  #   #  #      #   #   #  #   ##   #   #    #   ##   ##    #     #     ##     ##      ###        ###             ###########    ###########             ###        ##      #     ##    ##    #   ##   #   #   #   #      #  #              #  #    #    #    # #    # # #                 # # #      # #    #    #    #  #  #  #     #  #  #  #   #  #   #   #   #   #    #   ##    #    #     #     #      #      ##      ##       ###       ###        ###         ###         ###        ###        ###       ##      ##      ##     ##     #     #    #    ##   #    #   #   #   #   #  #   #  #  #           #  #  #    #    #      #        # # # # # # # # # #      # #    # #  # #  #    #  #  #  #  #      #  #   #   #   #   #    #    #    ##     #      ##       ###          #####                           #####           ###       ##      ##      #     #     #    #    #    #   #    #   #   #   #  #   #   #  #      #  #  #  #  #  #  #  #  #  #  #    #  #    #    #  # #    #    #      #      # #      # #        # # # # #                             # # # # #        # # #      # # #    # #     
 # # # # # #          # # #      # # #    # #    # #    #    # #  # #  #    #  #    #  #       #  #  #  #  #  #      #  #      #      #   #   #   #   #   #    #   ##   ##    #    ##     #      #      ###       ###           ######                        ######          ###       ##      ##    ##    ##   ##   #    #   #   #  #   #  #   #  #  #  #       #  #    # #    #      # # #                 # # #    # #    # #  #    #  #    #  #  #  #      #  #   #  #   #   #    #   #    #    #    #     #     ##     #      ##      ###       ##        ###         ###          ###          ###         ###        ###       ###      ##      ##     ##     #     #    #    #    #    #   #   #   #  #   #  #   #  #  #  #  #       #    #  # #    # #      # # # # # # # # # # #      # #    #    #    #  #  #  #  #  #  #  #   #      #   #    #   #    #    ##    ##     ##       ##          ####                                   #####         ###       ##      ##     #     #     #    #    #    #   #   #    #      #   #   #  #   #  #  #      #  #  #  #  #       #  #  #    #  #    #    #    #    # #    # #    # #      # #        # # # #                                   # # # # #        # # #      # #    # #     
 # # # # # # #          # # #      # # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #      #   #   #   #   ##   #    #   ##    #    ##    ##     ##      ##       ###          ####                                  ####          ##       ##     ##     #    #    #    #   #   #   #   #  #   #  #  #  #  #  #       #    #    # #      # # #               # # #      # #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    #    #     #     #      #      ##       ##       ###        ###          ###           ###           ###          ###         ###       ###      ###     ##     ##     #     #    ##   #    #   ##   #   #      #   #  #  #           #  #  #    #    #    # #      # # # # # # # # # # #      # #    #    #    #  #       #         #  #   #   #   #   #   #    #    ##    ##     ##      ##         ###                                           ####         ##       ##     ##     ##    ##    #    #    #    #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #  # #    #    # #    # #      # #        # # # #                                       # # # #        # # #      # #    # #     
     # # # # # # #        # # #      # #      # #    #    # #    #    #  #    #    #  #  #       #  #  #  #  #      #  #  #   #  #   #   #  #   #   #    #   #    #   ##    #    ##    ##     #      ##       ##          ###                                         ####         ##      ##     ##     #    #    #    #   #   #   #  #   #  #              #  #    #  # #    #      # # #                 # # #      #    # #  #    #  #    #  #  #  #   #  #  #   #   #   #   #   #    #    #    #    ##     #     ##      ##      ###       ###         ###          ####           ####            ####           ###         ###        ##       ##      ##     #     ##    #    ##   ##   #   #    #   #  #   #  #   #  #  #  #  #  #    #  #    # #    # #    # # # # # # # # # # # #      # #    #    #  #    #  #  #  #  #  #   #  #   #   #   #    #   #    ##    ##     #      ##        ###               ####################              ####        ##       #      ##    ##    ##    #    #    #   #    #   #   #   #   #  #   #  #   #  #  #      #  #  #  #       #  #  #    #  #    #    #    #    #    # #    # #      # #        # # #              # # # # # # # # #              # # # #      # # #      # #      #     
           # # # # #        # # #      # #      #      #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #    #    #    #     #     ##     ##       ##         ###                ################               ####        ##      ##     #     #    #    #   #    #   #  #   #  #   #  #  #  #  #    #  #    #    # #      # # #               # # # #    # #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    #    #    ##    ##     ##     ##       ##        ###         ###           ####             #####             ####            ###          ###       ###       ##     ##     ##     #    ##    #    #   #   #    #  #   #   #  #  #              #  #    #    #    # #      # # # #       # # # #      # #    #    #    #  #  #        #  #  #   #  #   #   #    #   ##   ##    #     ##      ##       ###           #######                  ######            ###        ##      ##     ##     #     #    #    #    #   #    #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    #      #      # #        # # #          # # # # # # # # # # # # # #            # # #        # #      # #      # #   
               # # # # #        # #      # #    # #    # #    #    #    #    #  #    #  #  #          #  #  #      #  #  #      #   #  #   #   #   #   #   #    #    #    #    #     #     ##     ##      ##        ###             ########            ########            ###       ###     ##     #     #    #    #   #   #   #   #      #  #  #  #  #  #  #    #    #    #      # # #                 # # #      # #    #    #  #       #  #  #  #   #  #      #   #   #   #    #   ##   ##    #     #     ##      ##      ###       ###         ####           #####               #####               #####            ####          ##        ###      ##      ##     ##    ##    #    #    #   #   ##   #  #   #      #  #  #  #  #  #  #    #    #    # #      # # #             # # #      # #    #    #  #    #  #  #  #      #  #   #   #   #   #   ##   ##    #     ##     ##       ##          #####                              #####          ###       ##      ##     #     #     #    #    #    #   #   #    #  #   #   #   #  #      #  #         #  #  #       #  #  #    #  #    #  # #  # #    #    # #    # #    # #      # # # #        # # # # # # # # # # # # # # # # #          # # # #      # # #    # #      # #   
                   # # # #        # #      # #    # #    #    # #  # #  # #  #    #  #       #  #  #  #  #  #  #  #  #   #  #  #   #   #  #   #   #   #   ##   #    #   ##    #    ##    ##     ##      ##        ##           #####                           ######          ##       ##      #     ##    #    #    #   #   #   #      #  #      #  #       #  #    #    # #    # # #                   # # #      #    # #  #    #  #  #        #  #  #   #  #   #   #   #   ##   #    #    ##    ##     #      ##      ###       ###         ####            #####                 ######                  #####             ####          ###        ##      ##      ##     #     #    #    #    #   #    #      #   #  #      #  #  #  #    #  #    #    # #      # # #               # # #      #    # #  #    #  #  #  #  #  #  #   #  #   #   #   #    #   ##    #     #     ##      ###         ###                                       ####         ###       ##     ##     ##    ##    #    #    #    #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    # #    # #    # #      # # #          # # # # # # #         # # # # # # # # #        # # #      # # #      # #    # #   
# # # # #              # # #        # #      # #    # #    #    #    #    #    #  #    #  #  #       #  #  #         #  #  #   #  #   #   #  #   #   #    #   #    #   ##    #    ##    ##     #      ##       ###         ####                                     ####         ###      ##     ##    ##    #    #   #    #   #      #      #  #  #  #  #  #    #    #    #      # #                       # #      #    #    #       #  #  #  #  #      #  #   #   #   #   #    #    #    #     #     ##     ##      ##        ###         ####             #####                   ########                    ######              ####         ###        ##       #      ##    ##    ##    #    #   #    #   #   #  #   #  #  #           #  #    #  # #  # #      # #                   # # #    # #    #    #  #    #  #  #  #   #  #      #   #   #    #   ##   ##    ##     ##     ###        ###                #############                 ###         ##       ##     ##     #    ##    #    #    #   ##   #   #   #   #   #  #   #  #   #  #  #         #  #          #  #  #    #  # #  #    #    #    # #    # #    # #      # # #        # # # # #                         # # # # # #        # # #      # #      # #    # #   
# # # # # # # #          # # # #      # #      # #    #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #   ##   ##    #     #     ##     ##       ##         ####                                            ###        ###      #      #    ##    #    #   #   #   #   #   #  #  #           #  #  #    #    # #    # #                         # #    # #    #    #  #       #  #      #  #      #   #   #   #    #   ##   ##    #     ##     ##      ##       ###         ####             #####                       #########                         ######              ####         ###       ###      ##     ##    ##    #    #    #    #   #   #   #  #   #  #  #  #  #  #  #    #  # #  # #    # # #                     # # #    # #    #  #    #  #  #  #  #  #  #   #      #   #    #   ##   ##    #     ##      ##       ###            ########           #########            ###        ##      ##      #     #     #    #    #    #   ##   #   #   #   #  #   #   #  #  #   #  #  #  #  #  #  #  #  #       #  #    #    #  # #  # #    #    # #    # #      # # #      # # # # #                                 # # # #        # # #      # #      # #    # #   
# # # # # # # # # #          # # #      # #      # #    #    # #    #    #  #    #       #  #  #       #  #  #      #  #  #      #      #   #   #   #   #   #    #   ##   ##    #    ##     #      ##      ##        ###              ########################             ###       ##      ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #  #    #  # #  # #    # #          # # # # #        # #    # #    #  # #  #  #  #  #  #  #  #      #   #   #   #   #    #    #    ##    ##     ##      ##       ##         ###             ######                          #############                             ######              ###         ###       ##      ##     ##    ##    #    #    #   #   #   #   #  #      #  #  #  #  #    #    #    #    # # #        # # # #        # # #    #    #    #  #    #  #  #      #  #   #   #   #   #   #    ##    #     #      ##      ###          #####                            #####          ###       ##      ##     ##    ##    #    ##   #    #   #    #   #   #      #   #  #   #  #  #      #  #  #  #       #  #  #    #  #    #    #    #    #    # #    # #      # # #      # # # #                                       # # # #        # # #      # #    # #    # #   
          # # # # # # #        # # #      # #      #      #    #    #    #    #    #  #       #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #   #    #    ##    ##    ##     ##      ##       ###           ######                        #####           ##       ##      ##    ##    #    #    #   #   #   #      #  #              #  #    #    #    # #        # # # # # # # #      # #    # #    #  #    #  #  #  #  #  #   #  #   #   #   #   #   ##   ##    #    ##     #      ##       ##         ###            #####                            #####################                                  #####             ###         ##       ##      #     ##    ##    #   ##   #   #   #   #   #  #         #  #    #  #    #    #    # #        # # # # # # #        # #    #    #    #  #  #  #  #  #  #      #   #   #   #   #    #    ##    ##     ##      ###        ####                                      ####         ##       ##      ##     #     #    ##   ##   #    #   #    #   #  #   #   #      #  #   #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    #    # #      # #        # # #            # # # # # # # # # # #            # # # #      # # #      # #      #      #   
                  # # # # #        # #      # #      #    # #    #    #    #    #  #    #  #  #       #  #  #  #      #  #  #   #  #   #  #   #   #   #   #    #   #    #    ##    #     #     ##      ##       ##          ####                                   ####         ###      ##     ##     #    #    #    #   #   #   #  #      #  #  #  #  #    #  #    #      #        # # # # # # # # #      # #    # #  # #  #       #  #  #  #   #  #   #  #   #    #   #    #    #    ##     #      #       ##        ###           #####                          ########################################                                #####           ###        ##       ##     ##    ##    #    #    #   ##   #      #   #  #  #           #  #    #  # #    # #      # # # # # # # # # #      #      #    #  #    #  #  #  #      #  #   #   #   #   #    #    #     #     ##      ##        ###                 ###########                  ###        ###      ##      #     ##    #    ##    #   #    #   #   #   #   #   #   #  #   #  #  #      #  #  #  #  #       #  #  #    #  # #  #    #    # #    #    # #      # #      # # #            # # # # # # # # # # # # # # #          # # # #      # # #    # #      # #    #   
                      # # # #        # #      # #      #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #   #  #   #   #   #    #   #    #    #    ##    ##     #      ##      ###        ####                                           ####        ##      ##     #     #    #    #   ##   #   #  #   #  #              #  #    #  # #    #      # # # # #     # # # # #      #    # #  #    #  #              #  #   #  #   #   #   ##   #    #    ##    ##     ##      ##       ###          ####                     #######################################################################                      ####          ###        ##      #      #     #    #    #    #   #   #   #  #   #  #  #  #  #  #  #    #  # #    #      # # # #         # # # #      #    # #  #    #  #  #     #  #  #   #  #   #   #   #    #    #    ##     #      ##       ###            ########           #########            ###        ##      ##     ##     #    ##    #    #   ##   #   #   #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #  #  #    #  #    #    #  # #  # #    #      #      # #      # # #        # # # # # # # # # # # # # # # # # # # #        # # #        # #      # #    # #    # # 
 # # # # # #              # # # #      # # #    # #    # #    # #  # #  # #  #    #    #  #  #       #  #  #  #  #  #   #  #  #   #  #   #      #   #   #    #   #    #    #    #     #     ##     ##      ##        ###              ########################             ###       ##      ##    ##    #    ##   #   #    #  #   #      #  #  #  #  #  #    #    #    #      # # #               # # #      #    # #  #    #  #  #     #  #  #      #   #   #   #   ##   #    ##    ##    ##      ##       ##         ####                ###########                            #######################                      ############                 ###          ##       ##     ##     #     #    #    #   #   #   #   #      #  #  #  #  #  #    #  # #  # #      # #                 # # #      #    #    #    #  #  #  #  #      #  #   #   #   #    #    #    #     ##     ##      ###          #####                            #####          ###       ##      ##     #     #     #    #    #   ##   #   #   #   #   #   #  #   #  #  #      #  #  #  #  #  #       #  #    #  #    #    #    #    #      #      # #      # #        # # # # # #                       # # # # # #        # # #      # #      # #    # #    # # 
 # # # # # # # # # #          # # #      # # #    # #    # #    #    # #  #    #    #  #    #  #  #  #           #  #  #  #      #  #   #   #      #   ##   #   #    #    #    #    ##    ##     ##      ##       ###           ######                        #####           ##       ##      #     #    ##   ##   #   #   #   #   #  #      #  #       #  #    #    #      # #                     # # #    # #    #  #    #  #  #  #  #  #  #   #   #  #   #    #   ##   ##    #     ##     ##      ##         ###             ######                                              #############                                              #######            ####        ##      ##     ##    ##    #    #    #   #   #   #  #   #  #  #  #  #  #    #  #    # #    # #                       # # #    #    #    #  #              #  #   #  #   #   #    #   ##    #    ##     ##      ##         ###                                       ####         ###      ##      ##    ##    ##    #    #    #   ##   #   #   #   #   #  #   #  #   #  #  #  #              #  #  #  #    #  #    #    #    #    # #    #      # #    # # #        # # # #                                 # # # # #        # # #      # #    # #      #    # # 
 # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #   ##   ##    #     #     ##      ##       ##          ####                                    ####        ###      ##     ##    ##    #    #   #   #   #   #      #  #  #  #  #  #  #    #    #      # #        # # # # #        # #    # #    #  #    #  #  #  #  #  #   #  #   #   #   #    #   ##    #    ##     ##      ##       ###           ####                                                           #########                                                            ####          ###       ##      ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #    #  #    #    # #        # # # # # # #        # #    #    #    #  #  #  #  #  #  #   #  #   #   #   ##   #    #     #     ##      ##       ####              #################               ####        ##      ##      #     #     #    ##   #    #    #   #   #   #   #      #   #  #  #   #  #  #  #  #  #  #  #       #  #    #  #    #    #    # #    #      # #    # # #      # # # #              # # # # # #                # # # #        # #      # #      # #    #      # 
                   # # # # #        # # #      # #    # #    # #    #    #    #    #  #    #  #  #  #                 #  #  #      #  #   #   #   #   #   #   #    #   #    ##    #    ##     #      ##      ###        ###                   #######                   ###        ##      ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #    #  #    #      #        # # # # # # # # #      # #    #    #  #    #  #  #  #  #      #   #  #    #   #   ##   ##    #     ##     ##       ##         ####                   ######################                           ########                         ############################                 ###         ###      ##     ##    ##    #    #    #   #   #   #  #      #  #  #  #       #    #    # #      # # # # # # # # # #      # #    #    #  #    #  #  #  #      #      #   #   #    #    #    ##    ##     ##       ###           ######                   ######            ###       ##      ##     ##     #    ##   ##   ##   #    #   #   #   #   #  #   #  #   #  #  #         #  #       #  #  #       #    #  #    #    # #    #      #      # #      # # # #          # # # # # # # # # # # # # #          # # # #      # # #      # #    # #    # #    # 
                         # # # #        # #      # #    # #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   ##   #    #    ##    #     ##     ##      ##        ###            #########          ########            ###       ##      ##    ##    #    #    #   #   #   #   #  #  #           #  #  # #  #    # #      # # # #         # # # #    # #    #    #       #  #  #  #  #   #  #   #   #   #    #   ##    #    ##     ##      ##        ###             ######                              #########                   ######                  ########                                   ######            ###       ###     ##     ##    #    #    #   #    #  #   #      #  #  #  #  #    #  # #    #      # #                 # # #    # #    #    #  #              #  #   #  #   #   #    #   ##    #     #     ##       ##         ####                                 ####          ###      ###     ##     ##    #     #    #    #   #    #   #   #   #      #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #  # #    #    # #      # #      # # #        # # # # # # # # # # # # # # # # # # #        # # # #      # #      # #    # #    # #    # 
  # # # # # # #              # # # #      # # #    # #      #    # #  # #    #  #    #    #  #  #       #  #  #  #  #      #  #  #   #  #   #   #   #   #   #   #    #    #    #    ##    ##     ##     ###       ##           ####                             #####          ##       ##     #     #    ##   ##   #   #   #   #  #   #  #  #  #  #  #    #  # #  # #    # # #                   # #      #    #    #    #  #  #  #  #      #   #  #   #    #   #    ##    #     ##     ##       ###         #####                                                 ######               #####               ######                                                     ####         ###      ##      #     #    ##   ##   #   #   #   #  #   #  #  #  #  #    #  #    # #    # #        # # # #        # #      #    #    #  #  #  #  #  #  #   #  #   #   #   ##   #    ##    #     ##      ##        ####                                          ###         ##       ##     ##     #     #    #    #    #   #    #   #   #   #  #   #      #  #      #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #      # #    # # #        # # # # # #                       # # # # #        # # #        # #    # #      #      #    # 
# # # # # # # # # # # #          # # # #      # #      #      #    # #  # #  # #  #    #  #    #  #  #  #           #  #  #  #   #  #   #  #   #   #   #   #   #    #   ##   ##    #     #     ##     ##       ##         ####                                       ####        ###      ##     #     #    #    #   #   #   #   #  #      #  #  #  #    #  # #  # #    # #        # # # # #        # #    # #    #  #    #  #  #  #  #   #  #   #   #   #   #    #    ##    ##     #       ##        ###               ############################                   #####              ####             ####                 ##########                   ########             ###       ##      ##     #     #    #   ##   #   #   #  #   #  #  #  #  #  #    #    #    # #      # # # # # # # # #      # #    #    #  #    #  #  #  #      #  #   #   #   #    #    #    ##    ##      ##       ###            #########################             ###        ##      ##     ##    ##    #    ##   #    #   ##   #   #   #      #   #  #   #  #  #  #              #  #  #  #    #  #    #    #    #    #    # #    # #      # # #      # # # #                                   # # # # #      # # #      # #      # #    # #    #    # 
# # # # # # # # # # # # # # #        # # #      # #      #      #    #    # #  #    #    #  #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #   #    #    ##    ##    ##     ##      ###        ###              ####################              ###       ##      ##    ##    #    #    #   #   #   #   #  #  #           #  #  # #  # #    #      # # # # # # # # # #      # #    #    #  #    #  #  #  #      #  #   #   #   #    #    #    ##    ##      ##      ###          #####                                      ######              ####            ###            ####             #####                                             ####         ###      ##      #     #    #    #   ##   #      #   #  #  #  #  #  #    #  #    # #    # # # #             # # #    # #    #    #  #       #      #  #  #   #   #   #    #   ##    #    ##     ##       ##          #####                           #####          ###       ##      ##     #     #    ##    #    #   #    #   #   #   #  #   #   #  #  #   #  #  #  #  #  #  #  #  #    #  #  # #  #    #    #    #    # #    # #      # #      # # # #            # # # # # # # # #              # # # #      # # #      # #    # #    # #    # #    
                        # # # # #        # # #    # # #    # #    #    #    #    #    #  #    #  #  #       #  #  #      #  #  #      #      #   #   #   #   #   ##   #    #    #    ##    ##     ##      ##       ###           ######                      ######          ###      ##      #     #     #    #   #   #   #   #      #  #  #  #  #  #    #  #    # #      # # #             # # #      #    # #  #    #  #  #  #  #      #   #  #   #    #   ##    #    ##     ##      ##        ###                 ##################                    #####           ####          ###          ####           ####                ##########            #########             ###        ##     ##     #    ##    #   #   #   #   #   #  #  #  #  #  #  #    #    #    # # #          #          # # #    #    #    #  #  #     #  #  #      #   #   #   #    #    #     #     ##      ##         ###                                       ####        ###       ##     ##     #    ##    #    #    #   #    #   #   #   #  #   #  #   #  #         #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #    # # #      # # #          # # # # # # # # # # # # # # #          # # # #      # # #    # #      # #    #    # #    
                              # # # #        # #      # #    # #    #    #    #    #    #  #       #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #    #   ##    #    #     #     ##      ##      ###         ####                                    ###         ###      ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #    #  #    # #    # #          # #          # #      #    #  #    #  #  #  #  #      #   #   #   #   #    #    ##    ##     ##       ###          #####                                 ######             ####          ###         ###         ###          ###            #####                                          ####         ###      ##     #     #    #    #   #   #   #   #  #  #        #  #  # #  #    # #      # # # # # # # # #      # #    # #  #    #  #  #  #  #  #      #   #   #   #    #   ##    #     ##     ###       ###              ###################              ###        ###      ##     ##    ##    #    ##   ##   #   ##   #   #   #      #   #  #   #  #  #  #              #  #  #  #    #  # #  #    #    #    # #    # #    # #      # # #        # # # # # # #               # # # # # #          # # #      # #      # #    # #    # #    #    
 # # # # # # # # # # # #            # # #      # # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #   #    #    ##    ##    ##     ##       ##        ###                 ############                ###        ##      ##     #    ##   ##   #   ##   #  #   #  #      #  #       #  #    #    # #      # # # # # # # # #      # #    # #  #    #  #  #  #  #  #      #   #   #   #    #    #    ##     #      ###       ####                #################                  ####           ###         ###        ###        ###        ###          ####              ########                  #######           ###       ##      ##    ##    #    #   #   #   #   #  #              #  #    #    #      # #                 # # #    # #  # #  #    #  #  #  #  #   #  #   #   #   #   #    #    ##    ##     ##       ##          ######                       #####           ###       ##      ##     #     #     #    #    #   #    #   #   #   #  #   #   #  #  #   #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    #      # #    # # #        # # # #                               # # # # #        # # #      # #    # #      #    # #    #    
 # # # # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #  #    #  #  #          #  #      #  #  #      #      #   #   #   #   #   #    #    #    #    ##    ##     ##      ##        ##            #######                #######           ###       ##     ##    ##    #    #   ##   #   #  #   #  #              #  #    #    # #    # # #               # # #    # #    #    #  #  #  #  #  #  #      #   #   #   #    #    ##    ##     ##      ###          ####                                  #####            ###         ###        ###       ###       ###       ###         ###          #####                                            ###         ##      ##    ##    ##   #    #   #   #   #  #      #  #  #    #  #    #    # #        # # # # # #      # #      #    #  #    #  #  #  #   #  #   #  #   ##   #   ##   ##    ##     ##      ##        ####                                     ###         ###       ##     ##     #     #    #    #    #   ##   #   #   #   #  #   #      #  #      #  #  #  #  #  #    #  #  #    #  #    #    #    # #    #    # #      # #        # # #                # # # # # #              # # # #        # # #    # #      # #    # #    #    # #  
 #                       # # # # # #        # #      # #      #    # #    #    #    #  # #  #       #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #    #   ##   ##    #     #     ##     ###      ###         #####                                ####         ###      ##     ##    ##   ##   #    #   #   #  #   #  #  #  #  #  #  #    #    #    # #          # # # #        # #    # #  # #  #  #           #  #      #   #   #    #    #    #     ##     ###       ###              #######################               ####         ###        ###       ##       ###      ###       ##        ###        ####            ######                          #####           ##       ##     #     #    #    #   #   #   #  #   #  #  #  #  #    #  # #  # #      # # # #       # # # #    # #    #    #  #       #      #  #   #  #   #   #    #    #    ##     #      ##       ###               ################               ####        ##      ##     ##     #    ##    #    #   #    #   #   #   #   #  #   #  #   #  #  #  #              #  #  #       #    #  #    #    # #  # #    # #      # #      # # #          # # # # # # # # # # # # # # #          # # # #      # #      # #    # #    # #    # #    #  
                                 # # # #      # # #      # #    #      #    #    #    #  #    #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #    #    ##    #     ##     ##      ###        ###                                           ####        ##      #     ##    #    #    #   #   #   #  #   #  #  #  #  #  #    #  # #    #      # # # # # # # # # # #    # #    #    #  #    #  #  #      #  #   #   #   #    #    #     #     ##      ##         ####                                      ####           ###        ###       ##       ##      ##       ##       ##       ##        ###         ####                #################               ###       ##      ##    ##    #    #   #   #   #   #  #  #  #  #  #  #    #    #    # #                       # #    #    #    #  #           #  #      #   #   #   ##   #    ##    ##     ##       ###          #####                      ######          ###       ###     ##     ##    ##    #    #    #   ##   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    # #    # #      # # #        # # # # # # #             # # # # # # #          # # #      # #      # #    # #    #    # #    #  
    # # # # # # # # # # # #            # # #      # #      # #    # #    #    #    #    #  #    #  #  #       #  #  #  #      #  #  #   #  #   #   #   #   #   #   #    #   ##    #    ##    ##     ##      ##       ###            ########             #######            ##       ##      #     #     #   ##   #   #   #   #  #   #  #  #  #  #    #  #    # #    # # #                   # #    # #    #  #    #  #  #  #  #   #  #   #   #   ##   #    ##    ##     ##       ###           ######                  #######             ###        ###       ###      ##      ##      ##      ##      ##       ##       ##        ###          #####                                    ###         ##      ##     #     #    #   #   #   #   #  #              #  #    #    # #      # # # # # # # # #      # #    #    #  #  #  #  #  #  #  #   #   #   #   #    #    #    ##     ##      ##         ###                                    ####         ##       ##      #     ##    #    ##   ##   #    #   #   #   #   #   #  #   #  #  #   #  #  #  #  #  #  #       #  #    #  #    #    #    # #    #      # #    # # #        # # # #                               # # # # #        # # #      # #    # #    # #    # #    #    #  
# # # # # # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #  #    #  #  #  #              #  #  #      #  #   #   #  #   #    #   #   #    #    #    ##    ##     #      ##       ###         ####                                ####         ###      ##     #     #    #    #   #   #   #   #  #   #  #  #  #    #  #    #    # #      # # # # # # # #        #    # #  #    #  #  #  #  #  #   #  #   #   #    #   ##    #     ##     ##        ###                                            ####         ###       ###      ##      ##      ##     ##      ##     ##      ##      ###       ##        ###            #######                   ######          ###      ##     ##    ##   ##   #   #   #   #      #  #  #  #    #  #    #      # #                   # #      #    #    #  #  #  #  #  #  #   #      #    #   #    #    ##     #      ##       ###               ################               ###        ##       #      #     #     #    #    #    #   #   #   #   #   #   #  #      #  #         #  #          #  #  #    #  # #  #    #    # #    #    # #      # #        # # #              # # # # # # # #              # # #        # # #    # #      # #    # #    #    # #  # #
# # #                         # # # # #        # # #    # #      #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #   #  #  #   #   #  #   #   #    #   #    #    #    #    ##     #      ##      ##        ####                                          ####       ###     ##     #     #    #   ##   #   #  #   #  #   #  #  #    #  #    #    #      # #                 # #      #    #    #  #           #  #  #   #   #   #    #    #    ##     #       ##         ####                               #####          ###        ##       ##      ##     ##     ##     ##     ##      #      ##     ##       ##       ##         ###                 #############               ###        ##     ##    ##   ##   #    #   #  #   #  #  #  #  #  #  #    #    # #      # # # # # # # # #      #    # #  #    #  #  #  #  #  #   #  #   #   #    #   #    ##    ##     ##       ##          ######                      #####           ###       ##      ##     #     #    ##   ##   #    #   #   #   #   #   #      #      #  #  #  #        #  #  #  #       #    #  #    #    #    # #    # #    # # #      # # #        # # # # # # # # # # # # # # # #          # # # #      # #      # #    # #    # #    # #  # #    #
                 #                    # # #        # #      # #    # #    #    #    #    #  #    #  #       #  #  #  #  #  #      #  #      #   #  #   #   #   #    #   #    #    #     #     #     ##      ##        ##            #######               #######           ###      ##      #     #    ##   ##   #   #   #   #  #  #              #  #    # #    # #      # # # # # #        # #    #    #    #  #  #  #  #   #  #   #   #   #    #    #     #     ##       ###           ########           ########             ###        ##       ##      ##     ##     ##     ##     #     ##     #      #      #      ##      ##        ##          ####                                   ####        ##      #     #    ##   #    #   #   #  #      #  #  #    #  #    # #    # #                   # #      #    #    #  #  #  #  #  #      #   #   #   #    #    #    ##     #      ###        ####                                    ####         ##       ##     ##     #     #    #    #    #   #   ##   #      #   #      #  #   #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    #      # #      # #        # # # # # #                     # # # # # #        # # #      # #      # #    # #    #    # #    #    #
     # # # # # # # # # # # # # #          # # # #      # #    # #    # #    #    #    #    #  #    #  #  #       #  #  #      #  #  #      #   #  #   #   #   #   #    #    #    #    #     #     ##     ##       ###         ####                                 ####         ##      ##     ##    #    #    #   #   #   #   #  #  #           #  #    #    #      # # #             # # #    # #    #    #  #  #  #  #  #  #   #   #   #   #    #    #     ##     ##        ###                                          ###         ##       ##      ##      #     ##     ##    ##     #     #     ##    ##     ##     ##     ##       ##       ###           #####                       #####          ##      ##     #    ##   ##   #   #   #      #  #  #  #  #    #  #    # #      # # # # # # # # #      #    # #  #    #  #  #  #  #  #   #      #    #   #    #    ##    ##     ###       ###             ###################              ###        ##      ##     ##     #    ##    #   ##   #   ##   #   #   #  #   #      #  #      #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # #      # #        # # # #                                   # # # # #      # # #      # #      #      #    # #    #    #    #
 # # # # # #               # # # # # # #        # #      # #      #      #    #    #    #    #  #    #  #  #  #           #  #  #  #   #  #   #  #   #   #   #   #   ##   #    #    #     #     ##     ##      ##        ####                  ########                 ###        ##      #     ##    #    #   ##   #   #  #   #  #           #  #  # #  # #    # #      # # # # # #        # #    #    #  #    #  #      #  #   #  #   ##   #    #    ##    ##      ##         ###                                #####         ###       ##      ##     ##     ##     #     #     #     #     #    ##    ##     #     ##     ##     ##       ##        ###            #######################           ###       ##     #     #    #   #   #   #   #  #              #  #    # #    # #                   # #      #    #    #  #  #  #  #  #   #  #   #   #   #    #    ##    ##     ##      ###         #####                         #####          ###       ##      ##     #     #    #    #    #   ##   #   #   #   #  #   #      #  #  #      #  #  #       #  #  #    #  #    #    #    #    # #    # #    # # #      # # #          # # # # # # # # # # # # #            # # #        # #      # #    # #    # #    #    # #  # #  #
 # #                                 # # # #        # #      # #    # #    #    #    #    #    #  #       #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #    #   ##   ##    #     #     ##      ##       ###           #######                  ######          ###       ##     ##    ##    #   ##   #   #   #      #  #        #  #  #    #    #      # # #             # # #    # #    #    #  #  #  #  #  #   #  #   #   #    #    #    ##     #       ##          ######                   ######           ##        ##      ##     ##     ##    ##     #    ##    #     #    ##    #     #    ##    ##     #     ##      ##      ###        ###                                        ###       ##      #     #    #    #   #   #  #   #  #  #  #  #    #  #    # #      # # # # # # # # #      #    # #  #    #  #  #  #  #      #   #   #   #   #    ##    #     ##      ##        ###                                       ####        ##       ##     ##     #    ##    #    #   #    #   #   #   #   #  #   #  #   #  #  #  #           #  #  #  #    #  #    #    #    #    #      #      # #      # #          # # # # # # #         # # # # # # # #        # # # #      # #      # #    # #    #    # #    #    #   
          # # # # # # # # # # #            # # # #      # #      #      #    #    # #  #    #    #  #  #    #  #  #  #  #  #  #      #  #   #  #   #   #       #   #   #    #    #    #     #     ##     ##       ##         ####                                   ####        ###      #     ##    ##   ##   #   #   #   #   #  #  #        #  #  # #  # #    # #      # # # # # #        # #    #    #  #              #  #   #   #   #    #    #    ##     ##       ##             ###################             ###        ##       #      ##     #     #     #    ##    #    ##    #    #    ##    #    ##    #     #     ##     ##     ##       ##         ####                                 ###        ##      #     #    #    #   #   #   #  #      #       #  #    #      # #                   # # #    #    #    #  #  #  #  #  #   #  #   #   #    #   ##    #     #      ##       ##            ########################             ###       ###      #     ##     #    ##   ##   #    #   #   #   #   #   #      #  #   #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    #    # #    # #      # #        # # # #                                 # # # #        # # #      # #    # #    # #    # #    #    #    #   
    # # # # # # # # # # # # # # # # # #          # # #      # #    # #    #    # #  # #  #    #    #  #  #       #  #  #  #         #  #   #  #   #  #   #   #   ##   #   ##   #    ##    #     ##     ##      ##        ###               ################              ###        ##     ##     #    ##   #    #   #   #      #  #        #  #  #    #    #      # # #             # # #      #    #    #  #  #  #  #  #   #   #  #    #   #    ##    ##     ##        ###                                      ###        ###      ##      #     ##    ##    ##    #    ##   ##    #    #    #    #    #    ##    #    ##    #     ##     ##     ##       ###         #####                         ####         ##      #     ##    #   #    #   #  #   #  #  #  #  #  #    #    # #    # # # #     # # # # #    # #    #    #  #  #  #  #  #      #   #   #   #   ##    #    ##     ##      ##         #####                             #####         ###      ##      ##     #     #    #    #    #   #   ##   #      #   #      #  #      #  #  #  #  #  #  #       #  #    #    #  # #  # #    #      #      # #      # # # #            # # # # # # # # # #            # # # #      # # #      # #    # #    # #    #    # #  # #  # # 
# # # #                               # # # #        # # #    # #      #    # #    #    #  #    #    #  #  #  #                 #  #  #   #  #   #  #   #   #   #   #    #    #    #    #     #     ##      ##       ###          #####                        #####          ##       ##     #     #    #    #   #   #   #   #  #  #        #  #  #    #    # #      # # # # # # # #      # #    #    #  #              #  #   #   #   #    #    ##    ##      ##        ####                              ####         ###      ##      #     ##    ##    ##    #    #    #    #    #    #    #   ##   ##   ##   ##    #    #     #     #      #      ##       ###          #######               ######         ###      ##    ##    #    #   #   #   #  #   #  #  #       #    #    # #        # # # # #      # #    # #  #    #  #  #  #  #  #   #  #   #   #    #    #    #     ##     ###       ###                                          ####        ##      ##     ##     #    ##    #    #   #    #   #   #   #  #   #      #  #      #  #  #  #  #  #    #  #  #    #  # #  #    # #    #    # #    # #      # # #          # # # # # # # # # # # # # # # # # #        # # #        # #    # #      # #    #    # #    #    #    # 
# #            # # # # # # # # #            # # # #      # #      # #    # #    #    #    #  # #  #       #  #  #  #        #  #  #  #   #  #      #   #   #   #   #   ##   #    #    #     #     ##     ##      ###        ####                                      ###         ##      #     ##    #    #    #   #   #      #  #           #  #    #  # #    # # #                 # # #    #    #    #  #  #  #  #  #   #   #   #   #    #    #     ##      ##         #####                      #####          ##       ##      ##     #     #    ##    #    #    #    #   ##   #    #   ##   #    #   ##   ##   ##   ##    #    ##    ##     ##      ##       ###            ####################           ###      ##     #    ##   #    #   #  #   #  #  #     #  #    #  # #    # # #               # #      #    #    #  #  #  #  #  #  #   #   #   #   #    #    #     #     ##       ###          ######                  ######           ###       ##      ##     #     #    ##   ##   #    #   #   #   #   #      #      #  #         #  #  #       #  #  #    #  #    #    #    # #    #      # #    # # #        # # # #                             # # # # #        # # #      # #    # #    # #    # #    #    #    #    # 
       # # # # # # # # # # # # # # # # # #        # # #      # #      #    # #    #    #    #    #  #       #  #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   #   ##   #    ##    #     #     ##      ##        ###            ########################            ###       ##     ##    ##    #    #   #   #   #   #  #              #  #    #    # #    # # # # # # # # # #      #    #    #       #  #      #  #   #   #   ##   ##    #     ##      ###          #######           #######           ###       ##     ##     ##    #     #    #    #    #    #   #    #   #    #   #    #   #    #   #    #    #    #    ##    #     #     ##      ##        ###               #########               ###      ##     ##    #    #   #   #   #   #  #  #  #  #    #  #    # #      # # # # # # # #      # #    #    #  #  #        #  #      #   #   #    #    #    ##     #      ##         ###                                    ###         ###      ##     ##     #     #    #    #    #   #   #   #   #   #   #  #      #  #  #              #  #  #  #    #  #    #    #    #    # #    # #    # # #      # # #              # # # # # # # # #            # # # #      # # #      # #    # #    # #    #    # #  # #  # #  # 
   # # # #                             # # # # #        # #      # #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #   #  #  #   #   #  #   #   #    #   #    #   ##    #     #     ##     ##       ##          ####                              ####         ###      ##     #     #    #    #   #   #      #      #  #       #  #    #      # #        # # #        # #    # #  # #  #  #  #  #  #  #   #   #   #   #    #    ##     ##      ###            #################             ###       ##      ##     #     #    ##    #    #   #    #   ##   #   #    #   #   #   #    #   #   ##   #   ##   #    #    ##    #     #     ##      ##        ###                                    ###      ##      #    ##   ##   #   #   #  #      #  #    #  #    #    # #                     # #      #    #  #              #  #   #   #   #   #    #    #     #      ##       ###             ####################             ###        ##      ##     #     #     #    #    #   #    #   #   #  #   #   #  #      #  #  #  #     #  #  #  #  #    #  #    #    #    #    #    # #      # #      # # #        # # # # # # # # # # # # # # # # # #        # # # #      # #      # #    # #    #    # #    #    #    #    
 # #              # # # # # # # # #            # # # #      # #      #      #    # #  # #  #    #    #  #  #    #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   ##   #    #    #    ##     #     ##      ###        ###                 #########                 ###       ##      ##    ##    #    #   #   #   #   #  #   #  #  #  #    #  # #  # #    # # #             # # #    # #    #       #  #  #  #   #  #   #   #   ##   ##    #      ##      ###                                      ###        ##      ##     #     #    #    ##   #    #   ##   #   #   #    #   #   #   #   #   #   #    #   #   #    #   ##   #    ##    #     #     ##      ##        ####                               ####       ##     ##    #    #    #   #  #   #  #        #  #  # #  # #    # # #             # # #    # #    #  #    #  #  #      #  #   #   #   #    #    #    ##     ##      ##         #####                           #####          ##       ##      #     ##    #    ##   ##   #    #   #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #    # #      # #        # # # #                               # # # #        # # #      # #      #      #    # #    #    #    #    #    
          # # # # # # # # # # # # # # # # # #        # # #      # #    # #    # #  # #    #  # #  #    #  #  #       #  #  #  #      #  #  #   #  #   #   #   #   #   #   ##   #    #    ##    ##     #      ##       ###           #####                     #####          ###       #      #     #    #    #   #   #   #  #   #  #  #  #  #    #  # #    # #      # # # # # # #      # #    #    #  #           #  #      #   #    #    #    ##     ##       ####                                  ###        ##      ##     #     #    #    #    #    #   #    #   #   #   #   #   #   #   #   #   #   #   #   #   #   #    #   #    #    #     #    ##     ##      ##        ####                            ####       ##      #     #    #   #   #   #   #  #  #  #  #  #    #    # #      # # # # # # # #      #    # #  #    #  #  #  #      #  #   #   #    #    #    #     ##     ##        ###                                         ####        ##      ##     ##    ##    #    ##   #    #   #   #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #    #  #    #  #    #    # #    #    # #      # #      # # #            # # # # # # # # # # #            # # #        # #      # #    # #    # #    #    # #    #    #    #  
    # # # # #                               # # # #      # # #      # #    # #    #    #    #    #  #    #  #  #       #  #  #      #  #  #   #  #   #  #   #   #   ##   #   ##   #    ##    ##    ##     ##       ##         ###                                     ###         ##      #     ##    #    #   #    #      #   #  #  #  #  #  #    #    #    # #                     # #    # #  # #  #  #  #  #  #  #   #   #   #   #    ##    ##     ##       ####                              ####        ##      ##     #     #    ##   ##   #    #   #   #   #    #  #   #   #   #   #   #  #   #   #   #   #   #   #   #    #   #    #    #    ##    #      #      ###        ####                         ####        ##     ##    ##    #   #   #   #      #  #  #  #    #  # #    # #        # # #        # #    # #  #    #  #  #  #  #  #   #   #   #   #   ##    #    ##     ##      ###          ######                  ######           ###       ##      ##     #     #    #    #    #   #    #   #   #  #   #      #  #   #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    #      # #      # #          # # # # # # #         # # # # # # # #        # # #      # #      # #    # #    # #    #    #    #    #    #  
# # # #          # # # # # # # # # # # #          # # # #      # #    # #    # #    #    #    #    #  #    #  #  #                 #  #  #      #   #  #   #   #   #   #    #   ##    #    #     #     ##      ##        ###            ########################            ##       ##     ##     #    #    #   #   #   #   #  #  #  #  #  #  #    #    #      # # #           # # #      #    #    #  #  #  #  #      #   #   #    #    #    ##     ##        ####                           ####        ##      ##     ##    ##    #    #   ##   #   #   #   #   #   #   #   #      #   #      #   #   #  #   #   #   #   #   #   #    #   ##   #    ##    ##     ##      ##         ####                       ####        ##     ##    ##   ##   #   #   #  #   #  #  #    #  #    #      # #               # # #    # #  #    #  #  #  #  #  #  #   #   #   #   ##   ##    #     ##      ##        ###                                    ####         ##      ##      #     #     #    #    #   ##   #   #   #   #   #  #   #  #  #   #  #  #  #  #  #  #    #  #  #    #    #    #    #    # #    # #      # #      # # # # #                                 # # # #        # #      # #      # #    # #    #    # #  # #  # #  # #  #  
#          # # # # # # #           # # # # # # #        # # #      # #    # #    #    # #  # #  #    #  #    #  #  #  #           #  #  #      #  #   #   #   #   #   #   #    #    #    #     #     ##     ##       ##         #####                              ####         ##      ##     ##    #    #    #   #   #      #  #           #  #    #    # #      # # # # # # # #      # #  # #  #    #  #  #  #   #  #   #   #    #    #     #      ##        ####                        ####         ##      ##     #     #    #    #    #   #   ##   #   #  #   #   #   #  #   #  #   #  #   #      #   #  #   #   #   #   #   #   #   #    #    #    #    ##     ##      ##         ####                     ####        ###     ##    #    #    #   #   #  #              #  # #  # #      # # # # # # # # #      #    #    #  #           #  #      #   #   ##   #    ##    ##     ##       ###           ########################            ###       ##      ##     ##    ##    #    #    #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #    #  #  #    #  # #  # #  # #    #    # #    # # #      # # #          # # # # # # # # # # # # #            # # #      # # #    # # #    # #    #    # #    #    #    #    #    #
     # # # #                                   # # # #        # #      # #    #    # #    #    #  # #  #       #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #    #   #    #    #    ##    ##     ##      ##        ###                #############               ###       ##      #     #    #    #    #   #  #   #  #   #  #  #    #  #    #    # #          # #          # #    #    #  #           #  #      #   ##   #    #     ##     ##         ####                     ####         ###      #     ##    ##    #    #   #    #   #   #   #   #  #   #   #  #   #  #      #  #   #  #   #  #   #  #   #  #   #   #   #   #   #    #    #    #    ##     ##      ##         #####                   ####        ###     ##    #    #    #   #   #  #  #        #  #    #    # #      # # # # # #        #    # #  #    #  #  #  #      #   #  #    #   #    #    ##     ##      ##         ####                              ####          ##       ##     ##     #    ##    #    #   #    #   #   #   #  #   #      #  #      #  #  #  #       #  #  #    #  #    #    #    # #    #      # #    # # #        # # # # # #                   # # # # # #        # # #      # #      #      #      #    #    # #  # #  # #  #    #
 # # # #          # # # # # # # # # # # # # #          # # #      # #      #      #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   ##   #    #    ##    #     ##      ##       ##          #####                        #####          ##      ##     ##    ##   ##   #   #   #   #      #  #  #  #       #    #      # #               # # #    # #    #  #  #        #  #   #  #    #   #    ##    ##     ###        #####                  #####         ##       #     ##    ##    #   ##   #   #    #  #   #   #   #  #   #  #      #  #      #  #      #  #      #  #   #  #   #   #  #   #   #    #   #    #    #    ##     ##      ##         ####                   ####        ###     ##    #    #    #   #      #  #  #  #  #  #    #    # #                     # #    # #  #    #  #  #  #  #  #   #   #   #   #    #    #     #      ##       ###              ###############               ###        ##      ##     #     #    ##    #   #    #   #   #   #   #   #  #   #  #  #         #  #          #  #    #  #    #    #    #    # #    # #    # # #      # # # #                # # #                # # # #        # #      # #      #      #    # #    #    #    #    #    #  #
 #        # # # # # #                       # # # # #        # #      # #    # #    # #  # #  # #  #    #  #    #  #  #  #  #  #  #  #  #      #  #   #   #  #   #   ##   #   #    #    #     #     #      #       ##        ####                                       ###        ##      #     ##    #   ##   #   #   #      #  #  #  #  #  #    #    # #    # # # # # # # # # #      #    #    #  #  #  #  #  #   #   #   #   #    ##    ##     ###        #####                 #####         ###      #     ##    ##    #   ##   #   #   #   #   #   #  #   #  #  #   #  #  #      #  #  #  #      #  #  #      #  #   #  #   #   #  #   #    #   #    #    #    ##    ##      ##         #####                  ####         ##     ##    ##   #    #   #      #  #  #  #  #  # #  # #    # #                 # #    # #    #  #  #        #  #  #   #   #   #   ##   ##    ##    ##      ###         #####                         #####          ##       ##      #     ##    #    ##   ##   #   ##   #   #   #  #   #  #   #  #  #         #          #  #  #    #    #  #    # #  # #    # #    # #      # # #          # # # # # # # # # # # # # # # #          # # #      # # #    # #      #    # #    #    # #  # #  # #  #    #   
      # # # #            # # # # # # # #              # # #      # # #    # #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #   #    #    ##    ##     #      ##       ###           ######                 ######           ##       ##     #     #    #    #   #   #      #  #           #  #    #    # #      # # # # # # #      # #    #    #  #  #  #  #  #   #   #   #   #    ##    ##     ###         #####               #####         ###      ##     #    ##    #   ##   #   #   #   #   #  #   #  #      #  #  #         #  #  #  #  #  #  #         #  #  #   #  #  #   #   #  #   #   #    #   #    ##    #     ##     ###        #####                  #####        ##     ##    ##   ##   #   #      #  #  #  #  #    #  # #    # # # #       # # # #    # #    #  #    #  #  #  #   #  #   #   #   ##   #    ##    ##      ##       ###                                         ###        ##      ##     ##     #    ##   ##   #    #   #   #   #   #   #  #      #  #  #                 #  #  #    #  #    #    #    #    # #    # #      # #        # # # #                               # # # #        # # #      # #    # #    # #    # #    #    #    #    #    #  #   
  # # #          # # # # # # # # # # # # # # # # # #        # # #      # #    # #    #    #    #    #    #  #       #  #  #  #  #  #  #  #   #  #  #   #   #      #    #   #   ##   #    ##    #     ##     ##      ###        ####                                    ###        ##      ##    ##    #    #    #   #      #      #  #  #       #    #    # #        # # #        # #    # #  #    #  #  #  #  #   #   #   #   #    ##    ##     ##         #####               ######         ##      ##     #     #    #    #   #   #   #   #      #      #  #  #      #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #      #  #      #   #  #   #   #   #    #    #    ##    ##      ##        ####                    ####        ##      #     #    #   #   #   #  #  #  #  #  #    #    #      # # # # # # # # #    # #    #    #  #  #  #  #  #   #  #   #   #    #    #    ##     ##      ###         ######                    ######          ###       ##     ##     ##    #    ##   #    #   #    #   #      #   #  #   #  #  #                 #  #  #    #  #    #  # #  # #    #    # #      # #      # # #            # # # # # # # # # # # #          # # # #      # #      # #    # #    # #    #    # #  # #  # #  #    #    # 
# #        # # # #                                 # # # #        # #      # #    #    # #    #    #  #    #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #    #   ##   ##    #    ##     ##      ##       ###            #########      #########            ##       ##     ##    ##   ##   #   #   #   #   #  #  #  #  #  #    #    #    # # #                 # #    # #  #    #  #  #  #  #   #   #   #   #    #     #      ##         #####               #####          ##      ##    ##    #    #    #   #   #   #   #      #  #   #  #  #  #  #  #  #  #  #  #  #  #  #  #  #                       #  #  #      #  #   #   #   #   #   ##   #    ##    ##      ##        ####                     ####        ##     ##    #    #   #   #   #  #  #  #  #  #    #    # #      # # # # # #      # #    #    #  #           #  #      #   #    #   ##    #     #      ##        ###                                      ####        ##      ##     ##     #    #    ##   #    #   #   #   #   #      #      #  #  #                 #  #  #    #  #    #    #    # #    #      # #    # # #        # # # # #                     # # # # #          # #      # # #    # #    # #    # #    #    #    #    #    #  # #  # 
     # # # #          # # # # # # # # # # # # # #          # # #      # #      #    # #    #    #    #    #  #  #    #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   #   ##   ##   ##    #     ##     ##       ##         ####                                ####        ###      #     ##    #    #   #   #   #   #  #           #  #  # #  # #    # # #             # # #    #    #    #  #  #  #  #   #   #   #   #    #     #      ##        #####                 #####        ###      #     #     #    #   #   ##      #   #      #  #      #  #  #  #  #  #  #       #  #  #  #       #  #  #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #    #   ##    #     #      ##       ####                        ###       ##      #    #    #   #   #   #  #  #  #  #  #    #    # #        # # # #      # #    # #  #    #  #  #  #  #   #  #   #    #   #    #     #     ##       ##           ######                ######           ###       ##     ##     ##    #    ##   #    #   #    #   #      #   #  #   #  #  #                 #  #  #    #  #    #    #    #    #      #      # #        # # #              # # # # # #              # # # #        # #      # #    # #    # #    #    # #  # #  # #  # #  #    #  # 
   # #        # # # # #                           # # # #        # # #    # #      #    # #  # #  # #  #    #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #    #   ##   ##    #     #     ##      ##       ###             ####################             ###       #      #     #    #    #   #   #   #  #   #  #  #  #    #  #    # #    # # # # # # # # # #      #    #    #  #  #  #  #   #  #   #    #    #    ##     ##         ####                   ####        ###     ##     #    ##   #    #   #   #   #  #   #  #  #      #  #  #  #       #  #  #  #    #  #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    #     #     ##        ###                          ###       ##     ##    #   #    #  #   #  #  #  #  #  #    #    # #                   # # #    #    #  #  #     #  #  #   #  #   #    #    #    #     ##     ##        ####                                    ###         ##      ##     ##     #    ##   ##   #    #   #   #   #   #   #  #      #  #  #                 #  #  #    #  # #  #    #    # #    # #    # #      # # #        # # # # # # # # # # # # # # # # # #        # # #      # # #    # #    # #    # #    #    #    #    #    #    #  #    
 #        # # #            # # # # # # # # # # #          # # # #      # #    # #    # #    #    #    #    #  #  #    #  #  #  #  #  #  #  #   #  #  #   #   #      #    #   #   ##   #    ##    #     ##     ##       ##         #####                             ####         ##      ##     #    ##   ##   #   #   #   #  #  #  #  #  #  #    #    # #      # # # # # # #      # #    #    #  #  #  #  #   #  #   #    #   ##    #      ##        ###                     ####         ##     ##     #    #    #   #   #   #   #   #  #  #      #  #  #  #       #  #  #    #  #    #  #    #  #    #  #  #    #  #  #                 #  #  #   #  #   #   #   #    #    #    ##     ##       ###                            ###       ##     #    #    #   #   #  #           #  #    #    # # #               # # #    #    #    #  #  #  #      #   #  #    #   #    #     #     ##       ###          ########           #######            ###       ##     ##     ##    #    ##   ##   #   ##   #   #   #  #   #  #   #  #  #                 #  #  #    #  #    #    #    #    # #    # #    # # #      # # # #                                 # # # # #      # # #      # #    # #    # #    #    # #    #    #    #  #    #    #  
      # # #        # # # # # #                 # # # # # #        # #      # #    # #    # #  # #  # #  #    #  #    #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #   #    ##    #    ##     ##      ##        ###              ################             ###       ##      #     #    #    #   #   #   #  #      #  #       #    #    # #      # # # # # #      # #    #    #  #  #  #  #      #   #   #    #    ##     ##        ###                        ###        ##     ##     #    #    #   #   #   #      #  #   #  #  #  #  #  #       #  #    #  #    #  #    #    #  # #  #    #  #    #  #  #    #  #  #  #  #      #  #   #  #   #   #    #    #    ##     #       ###                               ###      ##    ##   ##   #   #   #  #      #       #    #    # # #               # #    # #  # #  #  #  #  #  #  #   #  #   ##   #    #    #     ##     ###        ###                                  ####         ##      ##     ##     #    ##   ##   #    #   #   #   #   #   #  #   #  #  #                    #  #  #    #  # #  #    #    # #    # #    # #      # # #          # # # # # # # # # # # # # # #          # # #      # # #    # #    # #    # #    #    #    #    #    #    #  # #  #  
  # # #      # # # #              # # # # #                # # #      # # #    # #    # #    #    #    #    #  #       #  #  #  #  #  #  #  #      #  #   #   #  #   #   ##   #   #    #    ##    #     ##     ##       ##          ####                            ####         ##      ##     #    ##   ##   #   #   #      #  #  #  #  #  # #  #      #        # # # #        # #    #    #  #  #  #  #  #   #   #   #    #    #     ##       ####                          ###       ##      #     #    #   ##   #   #      #      #  #  #  #  #  #  #  #    #  #    #  # #  #    #    #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #   #  #   #   #    #   ##    #     ##      ###             #######             ###      #     #    #   ##      #   #  #  #  #    #    #    # # #             # #      #    #       #  #  #      #      #    #   #    #     #     ##       ###           ########        ########            ###       ##      #     ##    ##    #    #   #    #   #   #   #  #   #      #  #         #  #          #  #    #  #    #    #    #    # #    # #    # # #        # # # #                             # # # #        # # #      # #    # #    # #    # #    #    #    #    #    #  #    #  #  
# #      # # #        # # # # # # # # # # # # # # # # # #        # # #      # #    # #    # #  # #  # #  #    #  #    #  #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   ##   #    #    ##    ##     ##      ##       ####               #############              ###       ##      #     #    #    #   #   #   #  #      #  #    #  #    #    # #                     # #    #    #  #  #  #  #  #   #  #    #   #    ##     ##      ###                             ###       ##     #     #    #   #    #   #  #   #  #         #  #       #  #    #  #    #    #    #    #    #    #    # #  # #  # #  # #  #    #  #    #  #  #  #  #  #      #      #   #    #   #    ##    ##      ##          #################          ##      #     #    #   #   #      #  #  #  #    #  # #    # # #           # # #    # #  # #  #  #     #  #  #   #  #   #    #   ##    #     ##     ##        ####                                  ###         ##       #      #     #     #    #    #   #   #    #  #   #   #  #   #  #         #  #  #       #  #  #    #  #    #    #    # #    # #    # #      # # #            # # # # # # # # # # # #            # # #      # # #    # #      #    # #    #    # #  # #  # #  #    #    #  #    #
     # #        # # # #                                   # # # #      # # #    # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #    #   #    #    #     #     ##     ##       ##          ####                          #####         ##      ##     #    ##   ##   #   #   #      #  #  #  #  #    #  # #    # #                   # #    #    #  #           #  #   #   #    #    #     ##      ###                               ###       #     ##    #    #   #    #  #   #      #  #  #  #  #  #  #    #  #    #    #    #    #    # #    #    # #    #    # #    #    #    #  #    #  #          #      #  #      #   #   #    #    #     #      ##         #####            #####        ##      #    ##   #   #   #   #  #  #  #  #  #    # #    # # #         # # #      #    #    #  #  #  #  #   #  #   #   #    #    #     #     ##       ##           #########      #########            ###       ##      ##     #    ##    #    #   ##   #   #   #   #   #  #   #  #  #      #  #  #  #       #  #  #    #    #  # #    #    # #    # #    # # #        # # # # #                       # # # # #        # # #      # #      #      #    # #    #    #    #    #    #    #  #    #  #
 # # #      # # #        # # # # # # # # # # # # # # # # #        # # #      # #    # #    # #    #    #  #    #  #    #  #  #  #  #  #  #  #  #      #  #   #   #   #   #   #   #    #    #    ##    ##     #      ###       ###                ###########               ###       ##      #     #    #    #   #   #   #  #      #  #    #  #    #    # # #                 # #    #    #       #  #   #  #   #   #   #    #     ##      ##            ##########             ##      ##     #    ##   #    #   #  #   #  #   #  #  #  #  #    #  #    #  # #  # #  # #    # #    #      #      # #    #      #    # #  # #  # #  #    #  #  #           #  #      #   #   #   ##   ##    #      ##       ####                   ####        ##     #    #    #   #   #  #           #  #    #      # # #       # # # #    # #    #  #  #        #  #      #   #   ##   #    ##    ##      ##        ####                                 ####        ###      ##     ##    ##    #    #    #   #    #   #   #  #   #   #  #  #   #  #  #  #  #  #       #  #    #  #    #    #    # #    # #    # #      # # # #          # # # # # # # # # # #            # # #      # # #      # #    # #    #    # #    #    #    #    #  #    #    #  #   
 #      # #        # # # #                                 # # # #      # # #    # #    # #    #    #    #    #  #    #  #  #  #           #  #  #      #      #   #   #   #   #    #    #    #    ##    ##      ##      ###         #####                          ####         ##      ##     ##    #    #   #   #   #   #  #  #  #  #  #    #  # #    # #                 # #    # #  #    #  #  #  #   #  #   #    #   ##    ##     ###         ##################          ##      ##    ##    #   ##   #   #  #   #  #                 #  #    #    #    #    # #    #      # #    # # #    # #      # #    # #    #    # #  # #  #    #  #  #  #  #  #  #  #   #   #   #   #    #    #     ##       ###                         ###       ##     #    #   #       #   #  #  #  #    #    #    # # # #       # # #      #    #    #  #  #  #  #      #   #   #    #    #    ##     ##      ###           ########        ########            ###       ##     ##     ##    #    ##   #    #   #   #   #   #   #      #  #   #  #  #  #  #  #  #       #  #    #  # #  # #  # #    #      # #    # # #        # # # # #                     # # # # #        # # #      # #      # #    # #    #    # #  # #  # #  # #  #    #    #  #    # 
    # #      # # # #        # # # # # # # # # # # # # # # #        # # #      # #      #    # #    #    #    #  #    #  #  #                 #  #  #   #  #   #  #   #   #   #    #   ##   ##    #     #     ##      ##        ###               ############               ###       ##     ##    #    ##   #   #   #   #  #   #  #  #    #  #    #    # # #               # #    # #    #  #  #  #  #  #   #   #   #    #    ##     ##         ####              #####        ##      ##    #    #    #   #   #      #  #           #  #  #    #    #    #    # #    # #      # #      # # #      # # #    # # #    # #    # #    #    #  #    #  #  #     #  #  #      #   #   #    #    #     ##      ###                              ##      ##     #    #   #   #   #  #  #  #  #  # #  # #    # # #         # # #      #    #  #    #  #      #  #   #   #   #    #    #     ##     ##        ####                                  ####        ##       #      #     #    ##   ##   #    #   #   #   #   #  #   #  #   #  #  #  #  #  #  #  #       #  #    #    #    #    #      #      # #      # # #            # # # # # # # # # #            # # #        # #      # #    # #    # #    #    #    #    #    #    #  #    #  #    # 
# #      # # #        # # # #                               # # # #        # #      #      #    # #  # #  #    #    #  #  #       #  #  #      #  #  #   #  #   #   #   #   #   #   ##   #    ##    #     ##     ##      ###         #####                           ####         ##      ##    ##    #    #   #   #   #   #  #  #  #  #  #  # #  # #    # #               # # #    #    #  #        #  #  #   #   #    #    ##     ##       ####                     ###        ##     #     #    #   #   #   #   #  #  #        #  #  #    #  # #  # #    # #    # #      # # #        # # #        # # #        # #      # #    #    #    #    #  #              #  #   #   #   #   #    #     #      ##           ##############          ##      #     #   ##   #   #  #           #  #    #      # # #         # # #    # #  # #  #  #  #  #  #  #   #   #   #   #    #     #     ##      ###          #######             #######           ##       ##      ##     #    ##    #    #   #    #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #       #  # #  #    #    # #    #    # #      # # #        # # # # #                   # # # # # #        # # #      # #    # #    # #    # #    #    #    #    #    #  #    #  #    #  # 
#      # #      # # #          # # # # # # # # # # # # # # #          # #      # #      # #    #    #    #    #  #    #  #       #  #  #  #      #  #  #   #  #   #   #   #   #   ##   #    #    ##    ##     #      ##        ###              ###############              ##       ##      #     #    #   ##   #   #  #   #  #  #  #  #    #    #    # # #             # # #    #    #    #  #  #      #   #   #   #    ##     #       ###                          ###       ##     #    ##   #    #   #  #   #  #           #  #  #    #    #    # #    # # #      # # #          # # # # #          # # # #        # #      # #    #    #    #  #       #  #      #  #   #   #   #    #     #     ##         ####             #####        ##     ##    #   #   #   #   #  #  #  #    #  # #    # # #           # # #    #    #    #  #  #  #  #   #  #   #    #   #    ##    ##      ##       ####                                   ####        ##      ##     ##    ##    #    #    #   #   ##   #  #   #   #  #   #  #  #  #  #     #  #  #  #    #  #    #  # #  # #    #    # #    # # #      # # #            # # # # # # # # #            # # # #      # # #    # #      #      #    # #  # #    #    #  # #  #    #  #    #  #    
   # #      # #        # # # # #                             # # # #        # #      # #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #      #  #   #  #   #   #   #   ##   #    #    #    ##    ##     ##       ##         ####                             ####        ###     ##     #    ##   ##   #   #   #  #              #  #    #      # #               # #    # #    #  #  #  #  #      #   #   ##   ##    ##      ##                                ##       #     #    ##   #   #   #   #  #              #  #    #  # #    #    # #        # # #            # # # # # # # # #              # # # #        # #    # #    #    #  #    #  #  #  #  #   #  #   #   #    #    ##     #       ####                      ###       ##    ##    #   #   #   #  #  #     #  #    #    # # #             # # #    #    #       #  #      #  #   #   #    #   ##    #     ##      ###          #####                 ######           ###      ##      ##    ##    #    ##   #    #   #   #   #   #   #  #   #  #  #                 #  #  #    #  #    #    #    #    # #    # #      # #        # # # # # #                   # # # # #        # # #      # #      # #    # #    #    #    # #  # #  #    #    #  #    #  #    #  
 #      # #      # # # #        # # # # # # # # # # # # # # #          # # #      # #    # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #      #  #   #   #  #   #    #   #   ##   ##    #    ##     ##     ##        ###             ##################             ##       ##     ##    #    #    #   #   #   #  #  #  #  #  #  #    # #    # #                 # #    #    #  #        #  #      #    #   ##    ##     ##          ################          ##      ##    #    #    #   #   #  #      #  #  #       #    #    #    # #      # # #          # # # # # # # # # # # # # # # # # # # # #            # # #      # #    #    #    #  #  #     #  #  #   #  #   #    #    #     ##      ##                             ###      #     #    #   #   #      #  #  #    #  # #    # #               # # #    #    #  #  #     #  #  #   #   #   #    #    #    ##      ##       ###                                      ###        ##      ##     ##    ##    #    #   #    #   #   #   #   #  #   #  #  #      #  #  #  #    #  #  #    #  #    #    #    # #    # #    # #      # # # #          # # # # # # # # # #            # # # #      # #      # #    # #    # #    #    #    #    #    #    #  #    #  #    #  #  
    # #      # # #      # # # # #                               # # # #      # # #    # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #      #  #   #   #   #   #   #   #    #    #     #     #     ##       ##         ####                              ####        ###     ##     #    #    #   #   #   #      #  #  #  #    #  # #    # #                 # #    # #  #    #  #  #      #   #   #   ##    #     ##        ####                ####        ##     ##    #    #    #      #   #  #  #  #  #  #    #    #    #      # #      # # # # # # # #       # # # # # # # # # # # # #             # # # # # #      # # #    #    #    #    #  #  #  #      #      #    #    #    ##     ##          ###############          ##     ##    #    #   #   #  #  #  #  #  #    #    # #                   # #    #    #  #  #  #  #  #   #      ##   #    #    #     ##      ##          #####                     #####          ###      ##      #     ##    #    #    #   ##   #   #   #      #   #  #  #   #  #  #  #  #  #       #  #    #  # #  #    # #    #      #      # # #      # # # # # #                     # # # # #        # # #      # #    # #      #    # #    #    #    #    #    #  #    #  #    #  #     
  # #    # # #      # # #        # # # # # # # # # # # # # # # #          # # #    # #      #      #    #    #    #  #    #  #  #  #           #  #  #      #  #   #   #   #   #   #    #    #    #     #     ##     ##       ###            #######################           ###      ##     ##    #    #    #   #      #      #  #       #    #    # #                   # #    #    #  #  #  #  #  #   #   #   ##   ##     #       ###                        ###       ##     #    ##   #   #   #   #  #           #  #    #  # #    #      # # #                                   # # # # #              # # # # # # # # #        # # #    # #    #    #  #  #        #  #   #  #    #   #    ##     ##       ####                 ####       ##     #    #    #   #  #   #  #  #  #    #    # #        # # #        # #    #  #    #  #  #  #   #  #   #   #    #    #    ##     ##       ###                ########                 ###       ##      ##     ##    #    ##   ##   #   ##   #   #  #   #   #  #      #  #  #  #  #  #  #  #    #  #    #    #  # #    #    # #    # # #      # # #          # # # # # # # # # # #            # # #        # #      # #    # #    #    # #    #    #    #  # #  #    #  #    #  #    #  #
#      # #    # # #        # # # #                                 # # # #      # #      # #    # #  # #    #  # #  #    #  #  #          #         #  #  #   #      #   #   #   #    #   ##   ##    #     #     ##      ###        ####                                 ####        ##     ##     #    #    #   #   #   #  #  #     #  #  #    #    # #        # # #        # #    #  #    #  #  #   #  #   #   ##   ##    ##      ##                               ##      ##    ##    #   #   #   #      #  #  #  #    #  #    #      #      # # # # #             # # # # # #        # # # #        # # # #                           # # #      #    # #  #    #  #  #  #  #   #  #   #    #    #     #       ##                          ###      ##    ##   #    #      #  #        #  #    # #      # # # # # #      # #    #  #    #  #  #   #  #   #   #   #    #    #     ##      ##         ####                          #####         ##       ##     #     ##    #    #    #   #   #   #   #   #   #  #      #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #    # # #        # # # #                         # # # # #        # # #      # #    # #    # #    #    # #  # #  # #  #    #    #  #    #  #    #  #  #
   # #    # # #      # # #        # # # # # # # # # # # # # # # # #        # # #      # #    # #    # #  # #  # #  #    #  #       #  #  #  #  #      #  #  #   #      #   #   #    #   #    #    #     #     ##     ##       ###           ######              ######          ###      ##     ##    #    #   #   #   #   #  #  #  #  #  #    #    # #      # # # # #        #    #    #  #  #  #  #      #   ##   #     #     ###         #################         ##      ##    #    #   #   #   #  #  #        #  #    #    #    # #        # # # # # # # # # # #        # # #        # #      # # #        # # # #                     # # #      #    #    #       #  #  #   #  #   #   ##   #     #      ##          ############          ###     ##    #   ##   #  #   #  #  #  #    #  # #      # # # # # # #      # #    #  #           #  #      #   #    #    #    ##     ##       ##             ##################             ##        ##     ##     ##    #    ##   #    #   #   #   #   #   #  #   #  #  #                 #  #  #    #  #    #    #    # #    #      # #      # # #          # # # # # # # # # # # # #          # # #      # # #    # #      #    # #    #    # #  # #  #    #    #  #    #  #    #  #      
 #      # #      # #      # # # #                  # #                # # # #      # #      # #    #    #    #    #    #  #       #  #  #  #  #  #  #      #  #   #   #  #   #    #   #    #   ##    #     #     ##      ##        ####                                    ####       ##     ##     #    #   ##   #   #  #   #  #  #  #  #    #    # #      # # # # # # #      #    #    #  #  #  #   #  #   ##   #    #     ##       ####                   ####       ##     #    #    #   #   #      #  #  #  #  #    #    #      # #        # # # # # # # #        # # #      # #      # #      # #    # # #      # # # #                   # # #      #    #    #  #           #  #   #   #   ##    #     ##       ####                ####       ##     #    #    #   #  #      #       #    #    # # # #       # # #    # #    #  #  #  #  #  #  #   #   #   #    #    #     #      ##        ####                               ####        ###      ##     ##    ##    #    #   ##   #   #   #   #   #  #   #  #  #      #  #  #  #       #  #    #  #    #    #    # #    # #      # #      # # # # #                             # # # #        # # #      # #    # #    # #    #    #    #    #    #    #  #    #  #    #  #    #  # 
    # #      # #      # # #        # # # # # #             # # # # # # #        # #      # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #   #  #   #   #   #   #   #   #    #    #     #     #      ##      ###          #####                     #####         ###      #     ##    #    #   #   #   #  #   #  #  #    #  #    # #    # # # # # # # # #    # #    #  #        #  #   #  #    #    #    ##      ###                           ###      ##     #    #   #   #   #      #  #  #    #  #    #      # #        # # # # # # #        # # #      # #    # #    # #    # #    # #    # #      # # #                       # # #    # #  #    #  #        #  #   #   #   #    #    ##      ###                          ##      ##     #   ##   #   #  #  #  #  #  #    #    # # #             # #      #    #  #  #  #  #  #   #  #   #    #    #    #     ##       ##          ########          ########           ##       ##      ##    ##    #    #    #    #   #   #   #   #  #   #  #      #  #  #  #  #  #  #    #  #    #  #    #    # #    #      # #      # # #        # # # # # # # # # # # # # # # #        # # #        # #    # #      #    # #    #    #    #    #    #  #    #    #  #  #    #  #  # 
  # #    # #      # #      # # # #            # # # # # # # # #            # # #      # #      #    # #    #    #    #  #    #  #  #                 #  #  #   #  #   #   #   #   #   #    #   ##    #    ##     ##      ##       ###                ##########               ###       ##     #     #    #   #    #  #   #  #           #  #    #      # # #         # # #    # #  #    #  #  #  #   #       #   #     #      ##         ###############          ##     ##    ##   #   ##  #   #  #           #  #    #      # #      # # # # # # # #        # #      # #    # #    #    # #    #    # #    #    # #      # # #          # # #          # #    # #    #  #  #  #  #  #  #   #   #    #    ##     ##         ###############         ##      #    #    #   #      #  #  #  #    #    # #                   # #    #    #  #  #  #  #      #   #   #   ##    #    ##     ##        ###                                    ###        ###     ##     ##    ##    #    #   #    #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #      # #      # # # #                                   # # # #      # # #      # #    # #    #    # #    #    #    #    #  # #  #    #  #    #  #  #       
#    # #      # #      # #        # # # # #                       # # # # #        # #      # #    # #    #    #    #  #    #  #       #  #  #  #  #      #  #   #  #   #   #   #   #   #    #    #    ##    ##     ##       ##         ####                            ####        ##      ##     #    #    #   #   #   #  #  #     #  #  #    #    # # #               # #    # #  #       #      #      ##   #    #     ##       ####                  ####       ##     #    #    #   #      #  #  #  #  #  #    #    # #      # # # # # # # # # #      # #      # #    #    #    # #  # #  # #  # #  # #    #    # #    # # #      # # # # # # # # #      # #    #    #  #  #  #  #  #   #   #   #    #     ##      ####                   ###       ##     #    #   #   #  #   #  #       #    # #    # # # # # #      # #    #    #  #  #  #  #   #  #   #    #   ##    #     #      ###         ####                      #####          ##       ##     ##     #    #    ##   #    #   #   #   #      #      #  #                    #  #  #    #    #  # #    #    # #    # #      # #        # # # # # # #           # # # # # # #        # # #      # #    # #    # #    # #    #    #    #    #  # #  #    #  #    #  #  #    #  #  
   # #    # #    # # #      # # #          # # # # # # # # # # # # #          # # #      # #      #    # #    #    #  #    #  #    #  #  #  #  #  #  #  #   #  #      #   #   #   #   #    #   ##    #    ##     #      ##       ###            #####################           ###      ##     ##    #    #   ##   #  #   #  #  #  #  #  #    #    # #        # #        # #    #    #  #  #  #  #   #  #    #   ##    ##      ##                            ###      #     #    #   #   #   #  #  #  #  #  #    #    # #    # # # # #     # # # # #      # #    # #    #    #    #    #  #    #    #    #  # #  # #    #    # #      # # #               # # #    # #    #  #           #  #   #   #    #    ##     ###                             ##      #    ##   #   #   #  #        #  #    #      # # # # # # # #      #    #    #  #  #  #      #   #   #   #    #     #     ##       ###              #############              ###       ##      ##     #     #    #    #   #    #   #   #      #   #  #  #   #  #  #  #  #  #    #  #  #    #    #    #    #    # #      # #      # # #            # # # # # # # # #            # # #        # #      # #    # #    #    # #    #    #    #  # #  #    #  #    #  #    #  #  #  #  
 #    # #    # # #    # # #      # # # # #                               # # # #      # #      # #    #    # #    #  #    #    #  #  #  #           #  #  #      #  #   #   #   #   #   #    #    #    ##    ##     ##      ##        ####                                 ####       ##      #     #    #    #   #   #   #  #  #  #  #  #    #    #      # # # # # # #      #    #    #  #  #  #   #  #   #    #    ##     ##         #################         ##     ##    #   #    #  #   #  #  #  #  #    #  # #    # # #                 # # #      # #    #    #    #    #  #    #  #    #  #    #    #  #    #    #    # #    # #        # # # # # #      # #    # #  #       #      #  #   #    #    #     ##       ####              ####       ##     #    #   #   #   #  #  #  #  #    #    # #               # #    # #  #    #  #  #  #   #  #   #   #    #    #     ##     ##        ####                              ####        ###      ##     #     #    ##   ##   #    #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #    # # #      # # # # #                         # # # #        # # #      # #    # #    # #    # #  # #    #    #  # #  #    #  #    #  #    #  #  #       #
    # #    # #    # #      # # #          # # # # # # # # # # # # # # # # #        # #      # #      #    # #  # #  # #  #    #  #  #       #  #  #      #  #  #   #  #   #   #   #   #    #   ##   ##    #     ##     ##       ##          ######                  #####          ##      ##     #    ##   #    #   #  #   #  #  #  #  #    #  # #    # # # # # # # # # #    #    #    #  #  #   #  #   #   ##   ##    ##       ###                     ###       ##    ##    #   #   #   #  #  #  #  #  #    #    # #        # # # # # #        # #    # #  # #  # #  #    #  #    #  #  #    #  #  #    #  #    #  #    #    #    # #      # # #           # # #      #    #    #  #  #  #   #   #   #   ##    ##     ###                          ##      ##    #    #   #      #  #  #  #    #    #        # # #        # #    #       #  #  #  #   #   #  ##   #    #    #     ##      ###          #######          ########           ##       ##      ##    ##    #    #    #   ##   #   #   #  #   #      #  #  #              #  #  #    #  #    #    #    #    # #    # #      # # #          # # # # # # # # # # # # # #          # # #      # #      # #    # #    #    # #    #    #  # #  #    #    #  #    #  #  #       #  #  #
  #    # #    # #      # #        # # #              # # # # # #              # # #      # # #    # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #    #    #     #     ##      ##       ###                  #####                 ###      ##      #    ##    #   #   #   #   #  #  #  #  #    #  # #    # #               # #    #    #  #        #  #   #   #    #    ##     ##             ######            ##      #     #   ##   #      #  #  #  #  #  # #  # #    # # # #         # # # #      #    # #  # #  #    #  #    #  #  #  #  #       #  #  #  #    #  #  #    #    #    #    # #        # # # # # #      # #    #    #  #  #  #  #   #   #   #    ##     ##        ######     ######        ##     ##    #   #   #   #  #  #  #    #  # #    # # # # # # # #      #    #    #  #  #  #      #   #   #   ##   ##    ##     ##       ###                                     ###        ##      ##    ##    ##    #    #   #    #   #   #      #   #  #  #   #  #  #  #  #  #    #  #  #    #    #    #    #      #      # #        # # #                                 # # # #        # # #    # #      #      #    # #  # #    #  # #  #    #    #  #    #  #       #  #  #  #   
#    #      #      # #      # # #      # # # # # #                     # # # # #      # # #      #      #    # #  # #  #    #       #  #  #  #     #  #  #  #      #      #   #   #   #   ##   #    #    ##    ##     ##      ###         ####                           ####        ###     ##     #    #    #   #   #  #   #  #  #  #  #    #    # #        # # #        #    #    #  #  #  #  #   #   #   #    #     ##       ####                ###        ##    ##    #   #   #   #  #        #  #    #    # #        # # # #        # #    # #    #    #  #       #  #  #  #  #  #                      #  #  #  #    #  #    #    # #    # #                   # #    #    #  #        #  #   #   #    #    ##      ###                       ###      #    ##   #    #  #   #  #  #    #  #      # #             # #    # #  #    #  #  #  #   #  #   #   #    #    #     ##      ##        #####                        ####          ##       #      #     #    ##   ##   #    #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # #        # # # # # # #           # # # # # # #        # # #      # #    # #    # #    #    # #  # #    #  # #  #    #  #    #  #    #  #  #       #  # 
 # #    # #    # #    # # #      # # #          # # # # # # # # # # # # #          # # #      # #    # #    # #  # #  # #  #    #  #  #    #  #  #  #      #  #  #   #  #   #   #   #   #    #   ##   ##    #     ##     ##       ###            ######################           ##       ##     #    #    #    #   #  #   #  #  #  #  #    #    #      # # # # # # # #    # #  # #  #  #  #  #   #  #   ##   #     #      ###                           ##      ##    #    #   #   #      #  #  #    #    #    # # #             # # #      #    #    #    #  #  #       #  #  #            #  #  #  #  #  #  #  #  #  #       #  #    #    # #    # # # #       # # # #    # #  #    #  #  #  #   #   #   #    ##     ##        ################        ##     ##   ##   #   #      #  #  #    #    # #      # # #        # #    #    #  #  #  #  #   #  #   #    #   ##    #     ##       ##            ###################            ###       ##      #     ##    #    #    #    #   #   #   #      #      #  #                 #  #  #    #  #    #    #    #    # #    # # #      # # #          # # # # # # # # # #            # # #        # #      # #    # #    #    # #  # #    #  # #  #    #    #  #       #  #       #  #  #  # 
 #    #    # #    # #      # # #      # # # #                                 # # # #      # #      # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #   #  #      #   #   #   #   #    #    #    #     #     ##      ##        ###                                    ###       ##     ##    ##    #   #   #   #   #  #  #  #  #    #  # #    # #             # #      #    #  #  #  #      #   #   ##    #     ##        #####         #####        ##     #    ##   #   #      #  #  #  #    #    #      # # # # # # # #      # #    #    #  #    #  #  #  #  #  #  #  #  #  #      #  #  #      #  #  #  #  #  #  #  #    #  #    #    # #      # # # # # # # #    # #    #  #        #  #   #   #   ##    ##      ##                       ##       #    ##   #       #      #  #    #  # #    # # # # # # # # #    # #  #    #  #  #  #  #   #   #   #   #    #     #      ##       ####                                 ###         ##      ##     #     #    #    #   ##   #   #   #   #  #   #  #      #  #  #  #  #  #       #  #    #    #    #    #      #      # #        # # # #                             # # # #        # #      # #      #      #    # #  # #    #    #  #    #    #  #    #  #       #  #  #          
  # #    #      #      # #      # # #        # # # # # # #           # # # # # #        # # #      #      #    # #  # #  #    #    #  #  #  #              #  #  #   #  #   #   #   #   #   #    #    #    ##    ##     ##       ##         #####                       ####         ##      ##     #    #    #   #   #      #  #  #  #  #    #    # #        # #        # #    #    #  #  #  #   #   #   #   ##    ##      ##                         ###      #     #    #   #   #  #  #     #  #    #    # #                   # #      #    #    #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #  #   #  #  #  #  #  #  #  #  #    #    #    # #      # # # # # #      #    #    #  #  #  #   #   #   #    #     ##         ###############        ##     ##    #   #   #      #  #    #  #    # #                 # #    #    #  #  #  #  #  #   #   #   #    #    #     ##     ###         #####                    #####          ##       ##     #     #     #    #   ##   #   #   #   #      #      #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # #          # # # # # # # # # # # # # # # #        # # #      # # #    # #    # #    #    # #    #    #  # #  #    #  #    #  #    #  #  #       #  #  #  
#    # #    # #    # #    # # #      # # #            # # # # # # # # # # #          # # #      # #    # #    # #    #    #  #    #  #       #  #  #  #  #      #  #      #   #   #   #   #   ##   #    ##    #     ##     ##        ##             #################             ##       ##     #    ##   #    #   #  #   #  #  #  #  #    #  # #      # # # # # # #      #    #    #  #  #   #  #   #    #    #     ##         #######  #######         ##     #    #    #   #  #   #  #  #    #  # #    # #               # #      #    #    #  #  #           #  #  #      #  #   #  #   #      #      #      #  #         #  #       #  #    #    # #        # # # #      # #    #  #    #      #  #   #    #    ##      ###                      ###      #     #   ##   #  #   #  #  #    #    #      # # # # # #      # #  # #  #  #     #  #  #   #   #   #    #     #     ##      ###             ###############             ###       ##      ##     #    ##   ##   #    #   #   #   #   #  #   #  #      #  #  #  #  #    #  #  #    #    #  # #    #    # #    # #        # # #            # # # # # # #              # # #        # #      # #    # #    #    # #    #    #    #  #    #    #  #    #  #  #    #  #  #  #  #     
   #    # #    # #    # #      # # #      # # # #                               # # # #      # # #    # #    # #    #    #  # #  #    #  #  #  #  #  #  #  #  #  #   #  #   #   #   #   #   #   ##   ##    #    ##     ##      ##        ####                                ####       ##      #     #    #   #    #  #   #  #  #  #  #  #    #    # # #             # #    # #  #    #  #      #   #   #    #    ##      ###                       ###      #     #    #   #   #  #  #  #  #  #    #      # # # #     # # #      # #  # #  #    #  #  #  #  #      #  #   #  #   #      #   #   #      #   #      #      #  #  #  #  #  #  #  # #  #    # #        # # #        # #    #  #  #  #  #  #   #   #    ##    ##        ######     ######        ##     #    #   #   #   #  #  #    #  #      # #           # # #    #    #              #  #   #   #    #    #    ##     ##        ###                                ####        ##      ##     ##    #    ##   #    #   #   #   #   #   #  #      #  #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #      # #        # # # #                         # # # # #        # #      # #      # #    #    # #    #    #    #    #  #    #  #    #  #    #  #  #  #       #  #  #
 #    # #    #    # #      # #      # # #        # # # # # # # #     # # # # # # #        # # #      # #    # #    #    #    #  #    #  #       #  #  #  #      #  #      #   #  #   #    #   #    #    #    #     ##     ##      ###          #####                   #####         ###      #     #    ##   #   #   #   #  #        #  #  # #  # #      # # # # #      # #    #       #  #   #  #   #    #    #     ##        #################        ##     ##    #   #   #      #  #  #    #  # #      # # # # # # # #    # #    #    #  #  #        #  #  #   #  #   #      #   #   #   #   #   #   #   #   #  #   #  #   #  #  #  #  #  #    #  #    # #        # # #        # #  # #  #  #  #  #   #   #   #    ##      ##                        ###      #    #    #   #      #  #  #    #    #      # # # # #      # #    #  #    #  #  #   #  #   #   #    #    ##    ##      ##         #####                   #####          ###      ##     ##     #    #    #    #   #   #   #   #   #      #  #         #  #       #  #  #    #  # #  #    # #    #      # #    # # #        # # # # # # # # # # # # # # # #          # # #      # #    # #      #    # #    #    #    #    #  # #  #    #  #    #  #  #       #  #  #  #  #  #
    #    # #    #      # #    # #        # # #            # # # # # # # # # #          # # #      # #      # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #   #  #   #   #    #   #    #    #    ##     #      ##       ###              ##############             ###      ##     ##    #    #   #   #   #  #           #  #    #    # # # #       # # #    # #  #    #  #      #   #   #   ##    ##      ##                        ##      ##    ##   #   #   #  #        #  #    #      # # # # # # #      # #    #  #    #  #  #  #  #      #  #   #   #   #   #   #   #   #   #    #   #   #   #   #  #   #      #  #  #  #  #  #    #    # #      # # # # #      # #  #    #  #  #      #   #    #     ##       ####            ####       ##    ##   ##   #      #  #  #  #    #    # # #         # # #    # #  #    #  #  #  #   #  #   #    #   ##    #     ##       ##             ###############             ###       ##      #     ##    #    #    #   #    #   #      #   #  #      #  #  #  #  #  #  #       #  # #  #    #    # #    #      # #      # # #            # # # # # # # #            # # # #      # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #       #  #  #  #          # 
  #    #    # #    # #    # #      # #        # # # #                               # # # #      # #      #      #    #    #    #    #  #  #       #  #  #      #  #  #   #  #   #   #   #   ##   #    #    #     #     ##      ##         ###                                ###        ##     ##    ##   ##   #   #   #  #   #  #  #    #  #    # #          #        # #    #    #  #  #      #   #   #    ##     #        ######       #####        ##     #    #    #  #   #  #  #  #  #    # #      # # # # # #      # #    #  #    #  #  #  #      #  #   #   #   #   #   #   ##   #   #    #   #    #   #   #   #   #   #  #   #  #  #  #  #  #    #    #      # # # # # # #    # #  #    #  #  #   #   #   #    #      ##                           ##     ##    #   #   #   #  #  #  #  #    # #      # # # #        #    #    #  #  #  #  #   #  #   #    #    #    ##     ##        ###                                ####        ##      ##     #     #    #    #   ##   #   #   #      #   #  #  #                 #  #  #    #  #    #    #    # #    # #    # # #      # # # #                           # # # # #      # # #      # #    # #    # #    #    #    #    #    #    #  #    #  #    #  #  #  #    #  #  #  #  #  # 
#  # #    #    # #    # #    # #      # # #        # # # # # # #           # # # # # #        # # #    # #      #    #    #    #    #  #    #  #  #  #  #  #  #  #   #  #      #   #   #   #   #    #    #    ##    ##     ##       ##          #####                   #####         ##      ##     #    #    #   #   #      #  #  #  #    #  # #    # # # # # # # # #    # #  #    #  #  #   #  #   #    #    ##      ##                         ###     ##    #    #   #      #  #  #    #  # #      # # # # # # #    # #    #  #    #  #  #  #   #  #   #      #    #   #   #    #    #   ##   #    #    #   #    #   #   #   #  #   #  #        #  #  #    # #    # # # # # # # #      #       #  #      #   #    #    ##      ###                  ###      ##    ##   #   #   #  #     #  #    #    # # #         # # #    #    #  #           #  #   #   #    #    #     ##     ###         ####                     #####         ###      ##     ##    ##    #    #    #   #   #   #   #      #  #   #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # #        # # # # # # # # # # # # # # # # #        # # #      # #      # #    # #    #    #    #    #    #    #  #    #  #    #  #       #  #  #  #  #          
 #    # #    #    # #    # #      # #      # # #          # # # # # # # # # # # #          # # #      # #      #    # #  # #  # #  #    #  #  #                 #  #  #   #  #   #   #   #   #   #    #    #     #     #      ##       ###             ################            ###      ##     ##    #    #   #   #   #  #  #  #  #  #    #    # #                 # #    #    #  #  #  #   #   #   #    #     ##       ####            ####        #     #    #   #   #   #  #  #    #  # #    # # # # # # # #      #    #    #  #  #  #  #   #  #   #   #   #   #    #   ##   ##   ##    #    #    #    #    #   #    #   #   #   #  #      #  #  #    #  # #    # #             # #    #    #  #  #   #  #   ##   ##    ##         #############         ##     #    #   #   #      #       #    #      # # # # #      # #    #    #  #  #  #   #  #   #   ##   #    ##     ##      ###           ##################            ###       ##      #     ##    #    #    #   #   #   #   #   #  #   #  #  #                 #  #  #    #    #  # #  # #    # #    # #      # # #          # # # # # # # # # # #          # # # #      # #      # #    # #    #    # #  # #  # #  #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  
    #    # #    #    # #    # #      # #        # # # #                                 # # # #      # #    # #    # #    #    #  # #  #       #  #  #  #  #  #  #      #  #   #   #  #   ##   #   #    #    ##    #     ##      ##        ####                                 ###       ##     ##    ##   ##   #   #   #  #           #  #    #      # # # # # # # #      #    #  #  #  #  #   #   #   #    ##     ###                           ##      #    #    #   #  #      #    #  # #    # # # #   # # # #    # #  #    #  #  #  #  #      #   #   #   #    #   ##   ##    #    ##    #    ##    #    ##   ##   #    #   #   #   #   #  #  #  #  #  #    #    #        # #        # #  #    #  #  #   #   #   #    ##     ##                        ##      #     #   #   #   #  #  #  #    #    # #             # # #    #    #  #  #  #  #      #   #   ##   ##    #      ##       ###                                  ###        ##      ##     #     #    #    #   #    #   #      #   #  #   #  #  #  #  #  #  #  #       #  # #  #    #    # #    # #    # #        # # # #                               # # # #      # # #      # #    # #    #    # #    #    #    #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  
  #    #    #    # #    # #    # #      # # #        # # # # #                     # # # # #      # # #    # #    # #    #    #    #  #    #  #       #  #  #      #  #  #   #      #   #   #    #   #    #    ##    ##     ##      ###         ####                       ####         ##      #     #    #    #   #   #  #   #  #  #    #  #    # #                   # #  # #  #  #  #  #  #   #   #    #     #       ###                  ###      ##    ##   #   #   #           #  #      # #           # # #    #    #  #           #  #   #   #   #   #    #    #    ##    #     #     #     ##    ##    #    ##   ##   #    #   #   #  #   #  #  #  #    #  # #    # # # # # # #      #    #  #  #  #   #   #   ##    ##      ####              ###       ##    #    #   #   #  #  #  #  #    #      # # # # # # #      #    #  #           #  #   #   #    #    #    ##      ##        ####                         ####         ##       #      #     #    #    #   ##   #   #   #   #  #   #  #  #      #  #  #       #  #    #  #    #    #    # #    # #    # # #        # # # # #                 # # # # # #        # #      # #      # #    #    # #    #    #    #    #  #    #  #    #  #    #  #  #  #       #  #  #  #  #  #
#    #    #    #    # #    # #      # #      # # #        # # # # # # # # # # # # # # #          # #      # #    # #    #    # #  #    #  #    #  #  #  #  #  #  #  #      #      #   #   #   #   ##   #    #    ##     #      ##       ##            ####################           ###      ##    ##    #    #   #   #   #  #  #  #  #  # #  # #    # # # #   # # # #    # #  #           #  #   #   ##   ##     ##         #############         ##     #    #   #   #  #        #  #    # #                 # #    #    #  #  #  #  #   #   #  #    #   #    #    ##    #     #     ##     ##     ##    ##     #     #    #    #   #    #  #   #      #  #    #  #    # #               # #    #  #  #  #  #   #   #    #     ##         ###########         ##     #    #   #   #  #        #  #    # #                 # #    #    #  #  #  #      #   #   #    #    #     ##      ##          #######          #######           ##       ##     ##    ##    #    #    #   #   #   #   #   #  #      #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # # #        # # # # # # # # # # # # # #          # # #      # #      # #    #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #
 # #  # #  # #    #    # #    # #      # #      # # # #            # # # # # # # #            # # #      # #      #    # #    #    #  #    #  #       #  #  #  #      #  #      #   #   #   #   #   #    #    #     #     ##     ###       ###                                    ###       ##     ##    #    #   #   #   #  #           #  # #  # #        # # #        #    #    #  #  #      #   #    #    ##     ###                       ###     ##    #    #   #  #           #    #      # # # # # #    # #    #  #           #  #   #   #   #    #    #    ##    ##     #      ##     ##      ##     ##     ##    ##    #    #   #    #  #   #  #        #  #    #      # # # # # #    # #  #           #   #   #    ##     ##                       ###     ##    #   #   #   #  #  #  #    #      # # #     # # #      #    #  #  #  #  #  #   #   #   #    #    ##     #       ###                #####                 ###       ##      ##    ##    #    #    #   #    #   #  #   #   #  #  #   #  #  #  #  #       #  #    #  #    #    # #    #      # #      # # #              # # # # # #              # # #        # #      # #    #      #    #    # #  #    #    #    #  #    #  #  #    #  #  #  #       #  #  #  #  #  # 
    #    #    # #    #    # #    # #      # # #      # # # #                               # # # #      # #      #      #    #    #    #  #    #  #  #  #  #  #  #  #  #      #   #  #   #   #   ##   #    #    #     #     ##      ###        ####                           ####        ##     ##    ##    #   #   #   #      #  #  #    #  # #    # #           # # #    #    #  #  #  #  #   #   #    #     ##       ####            ####       ##     #   ##   #  #   #  #    #  #      # #       # # #      #    #  #  #  #  #   #  #   #   ##   #    #     #     ##     ##      ##       ##      ##      ##      #     ##    #    #   ##   #      #  #        #  # #  # # #           # #    #    #  #  #   #   #   #     #       ###               ###      ##    ##   #   #   #  #  #  #  #    # #      # # # # #      #    #    #  #  #      #   #   #   #    #    ##     ##        ###                               ###        ##      ##     ##    #    ##   #    #   #   #   #   #  #      #  #  #        #  #  #  #    #  #    #    #    #      #      # #        # # # #                           # # # # #      # # #    # #      # #    #    # #  # #    #  # #  #    #    #  #  #    #  #  #    #  #  #  #  #  #  #  #  #  # 
  #    #    #    #    # #    # #    # #      # # #        # # # # # #                 # # # # #        # #      # #    #    # #  # #  #    #  #       #  #  #  #  #  #   #  #      #   #   #   #   #    #    #    #     ##     ##      ###          ######              ######          ##      ##    ##    #   #   #   #   #  #  #  #  #  # #  # #      # # # # # #      #    #  #        #  #   #   ##    #     ##           #######           ##     #    #    #  #   #  #  #    #    #                 # #    #    #  #  #  #   #  #   #    #   #    ##    ##     ##     ###      ###       ###       ##       ##      #     ##    ##   #    #   #   #  #           #    #    # # # # # # #    # #  #  #  #  #       #   ##    ##        #############         ##    ##   #    #  #   #  #  #    #    # #               # #    #    #  #  #  #  #      #   #    #    #     #      ##         ####                     #####         ###      ##     ##    #    ##   ##   #   #   #   #   #   #  #      #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #      # #        # # # # # #               # # # # # #        # #      # #      # #    #    # #    #    #    #    #  #    #  #    #  #    #  #  #  #          #  #  #  #  #     
#    #    #    #    #    # #    # #    # # #      # # #        # # # # # # # # # # # # # # #        # # #      # #    # #    #    #    #  #    #  #  #              #  #  #      #   #      #    #   #    #    #    ##    ##     ##        ##              #############             ###      ##     #     #   #    #   #  #      #  #    #  # #    # #               # #    #    #  #  #      #   #    #    ##      ##                      ##      ##    #   ##  #   #  #  #  #    #    # # # # # # # #    # #  #    #  #      #  #   #   #    #    ##    ##     ##      ###       ###         ###        ###       ##      ##     ##    #    #   #   #   #      #       #    # #               # #  #    #  #      #   #    ##     ##                         ##     #    ##   #   #  #  #  #  #    #    # # # #   # # # #    # #  #    #  #  #   #  #   #   #    #    #     ##      ##           #####################           ###      ##      #     #     #    #   #    #   #   #      #   #  #  #         #          #  #    #  #    #    #    # #    # #      # # #        # # # # # # # # # # # # # # #        # # #      # #      # #    # #    #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  
 # #  #    #    # #    #    # #    # #      # #      # # #            # # # # # # # # #            # # #      # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #   #  #      #   #   #   #    #   ##   ##    ##    ##      ##        ###                                 ###        #      #    ##   ##   #   #      #  #  #  #  #    # #    # # # #   # # # #    #    #  #  #  #  #   #   #    #     #        ###            ####       ##     #   #       #  #     #  #    # #               # #    #  #    #  #   #  #   #   #    #    #     #      ##      ###         ###           ###          ###        ###      #     ##    #    #   #   #   #  #  #  #    #    # # #       # # #    #  #  #  #  #   #   #    ##      ##                   ###      #    ##   #   #      #  #    #  # #      # # # # #      # #    #  #  #  #  #  #   #   #   #    #    #     ##       ###                                     ###       ##      #     #     #    #    #   #   #   #   #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # # #            # # # # # # # # #          # # # #      # #      # #    # #    #    # #  # #  # #  #    #    #  #    #  #       #  #  #          #  #  #  #  #  #      
    #    #    #    #    # #    # #    # #      # #      # # # #                                 # # # #      # #    # #    # #    #    #  #    #  #       #  #  #  #      #  #      #   #   #   #   #   ##   #    ##    ##     ##      ##         ####                         ####        ##     ##    ##    #   #   #   #  #           #  #    # #      # # # # #      #    #       #      #   #   #    #     ###         #########          ##     ##   #    #  #   #  #  #    #      # # # # # # #    # #  #    #  #      #   #   #   #    #     #      ##       ##          ####              #####            ###        ##      ##     #    #    #   #   #  #  #  #  #    #    # # # # # # #    #    #  #  #   #   #   #    ##       ####           ####      ##     #   #   #   #  #  #  #  #    # #                 # #    #    #  #  #  #   #  #   #    #   ##    ##     ##       ####                              ###        ##      ##     ##    #    #    #   ##   #   #   #  #   #  #      #  #  #  #  #  #    #  #    #  #    #    # #    #      # #      # # # #                                 # # #        # #      # #    # #    # #    #    #    #    #  # #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #  #
  #    #    #  # #    #    # #    #      # #      # #        # # # # #                       # # # #        # #      #      #    #    #    #  #    #  #  #           #  #  #      #      #   #   #   ##   #    #    ##    ##     ##      ###          #######            ######          ##      ##    ##    #   #   #   #   #  #  #  #  #    #    # #               # #    #    #  #  #  #   #   #   #    ##     ###                       ##      #    #    #   #  #  #  #  #    # #                 #    #    #  #  #      #   #   #    #     #     ##       ###          #####                    ######              ###        ##     ##    ##    #   #   #      #  #    #  # #      # # #      # #  #        #  #   #    #     #         ###########         ##     #    #   #      #  #  #    #    # #             # #    #    #  #        #  #   #   #   #    ##    ##     ##         ####                      ####          ##      ##     ##    #    ##   #    #   #   #   #   #  #   #  #  #      #          #  #  #    #    #    #    #    # #      # #        # # # #                       # # # # #        # #      # #    # #    # #    #    #    #    #    #    #  #    #  #       #  #  #          #  #  #  #  #  #  #       
#  # #  #    #    #    # #    #      #      # #      # # #        # # # # # # # #   # # # # # # # #        # #      # #    # #  # #    #  #    #       #  #  #  #  #  #  #      #  #   #   #   #   #   #    #    #    ##    ##     ##       ###              #############             ##       #     ##    #    #   #   #  #      #       #    #    # # #       # # #    # #  #           #  #   #    #     #       ###                ###      ##    ##   #   #      #       #    # # #       # # #    #    #  #  #  #   #  #   ##   #    ##     ##      ###          #####                                #######             ###       ##     #    ##   #   #   #  #  #  #  #    # #               #    #  #  #  #       #   ##     ##                         ##     #    #   #   #  #        #  # #    # # # # # # # #      #    #  #  #  #  #   #  #    #   #    ##    ##      ##          #######         #######           ##       ##     ##    ##    #    #   #    #   #   #  #   #      #  #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # #        # # # # # # #       # # # # # # #        # # #      # #      #      #    # #    #    #    #  #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #  # 
 #    #    #    #    #    #    # #    # #      # #      # # #          # # # # # # # # # # # # #          # #      # #    # #    #    #    #    #  #  #    #  #  #  #  #      #  #   #  #   #   #   #    #   ##   ##    #     ##      ##       ####                                 ###       ##     ##    #    #   #   #   #  #  #  #  #  #    # #    # # # # # # #    # #    #  #  #  #  #   #   #    #     ##        ###############        ##    ##   #   #   #  #  #  #    #    # # # # # # #    #    #  #     #  #   #   #   #    #     ##     ###         #####                                                   #####          ###      #     #    #   #   #   #  #  #    #  # #             # #    #  #  #  #   #   #    #      ##                     ##      #    #    #   #  #  #  #  #    #      # # # # # #      #    #    #  #  #   #  #   #   #    #    #     ##      ###             ############              ###       ##     ##    ##    #    #    #   #   #   #   #   #  #      #  #  #  #  #  #  #    #  #    #  # #  # #    #      # #    # # #          # # # # # # # # # # # # #          # # #      # #      # #    # #    #    #    #    #    #    #  #    #  #       #  #  #       #  #  #  #  #  #  #  #  #        
    #    #  # #  # #  # #    #    # #    # #    # # #      # # #            # # # # # # # # #          # # #      # #      #    # #    #    #  #    #  #  #              #  #  #   #  #   #   #   #   #   #    #    ##    #     ##      ##         ####                          ####        ##     ##    #    #    #   #  #   #  #  #  #    #    # #        # #        #    #    #  #      #   #   #    #     ###                          ##     ##   ##   #  #   #  #    #  # #        #        # #  #    #  #  #   #   #   #   ##    #      ##        ###                                                                        ###        ##     #    #    #   #  #   #       #    # #         # # #  #    #  #      #   ##    #      ###                ###      ##    #   #   #   #  #  #    #  # #      # # # #      # #    #  #  #     #  #   #  #    #   ##    #     ##       ###                                  ###       ##      ##     #    ##   ##   #    #   #   #   #  #   #  #      #  #  #  #       #  #  # #  #    #    #    # #    # #      # # #            # # # # # # # # #            # # #      # # #    # #    # #    #    # #  # #  # #  #    #    #  #    #  #  #    #  #  #  #  #                    #  #  #  #  
  #  #    #    #    #    #    # #    #      # #    # # #      # # # #                                 # # #        # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #      #      #   #   #   #    #    #    #     #     ##       ##          #####                 #####         ##      ##    ##   ##   #   #   #  #        #  #  # #    # #             # #    # #  #  #  #  #  #   #    #    #      ##                      ###     ##    #   #   #  #     #  #    # #             # #    #  #  #  #  #   #  #    #    #     ##      ###              ###############                         ########################           ###     ##    ##   #   #   #        #  #    # #         # #    #    #  #   #  #    #    ##      ####          ####       ##    #    #   #  #           #    # #               # #    #    #  #  #  #  #   #   #   #    #     #      ##       ####                           ####        ##      ##     #     #    #    #   #   #   #   #   #      #  #  #              #  #  #    #  # #  # #  # #    # #    # #      # # # #                                 # # # #      # # #    # #      #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #  #      
#  #    #    #  # #  # #  # #    #    # #    # #      # # #      # # # # #                         # # # # #      # #      #    # #    #    #    #  #       #  #  #  #  #  #      #  #   #   #  #   ##   #   #    #     #     #     ##       ###           ####################          ###      ##    ##    #   #    #  #   #  #  #  #  #    #    # # #         # # #    #    #  #  #  #   #   #   ##    #       ###                ###      ##    #    #   #  #  #  #  # #    # #       # # #    #    #  #  #      #   #    #    ##     ##         #####                     #######               #####                                 ###       ##     #    #   #   #  #     #  #    # #         # #    #    #  #   #   #   #     #        #############        ##     #   ##      #  #  #  #  #    # #               # #    #    #  #  #  #   #  #   #    #    #    ##      ##        #####                    ####          ##      ##     ##    #    ##   #    #   #   #   #   #  #      #  #  #  #  #  #  #  #    #  #    #    #    #    # #      # #      # # # #                             # # # #      # # #      # #    # #    #    # #  # #  # #  #    #    #  #    #  #       #  #  #  #          #  #  #            #  #  #  #
 #    #  #    #    #    #    #    # #    # #    # #      # # #      # # # # # #                   # # # # #      # # #    # #    # #  # #  # #  #    #  #       #  #  #  #      #  #   #  #   #   #   #   #    #    #    ##    ##     ###       ###                #####                ##       ##     #    #    #   #   #  #   #  #  #    #  # #    # # # # # # # #    # #  #    #      #  #   #    #     ##       ####         ####       ##     #   #   #   #  #  #    #    # # # # # # #      #  #        #  #   #   #    #     ##      ###                                     ####           ###             #######            ######         ##     ##    #   #   #  #     #  #    # #           # #  #    #  #   #   #   #     ##         ########         ##     #    #   #   #  #  #  #    #    # #           # #    # #  #           #  #   #   #   #    ##    ##      ##          #######        ########          ###      ##     ##    ##    #    #   #    #   #   #  #   #  #   #  #  #  #  #  #  #       #  #    #    #    # #    # #    # #        # # # # #                     # # # # #        # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #  #      #
    #  #    #    #  # #  # #    #    #      #      # #      # # #        # # # # # # # # # # # # # # # #        # # #      #      #    #    #    #    #  #  #                 #  #  #   #      #   #   #    #   ##   ##    #     ##      ##       ####                                ###       ##     #    ##   #    #      #  #        #  #    #      # # # # # #      #    #  #  #  #  #   #   #    #     ##        ############         #     #    #   #      #       #      # # # # # #    # #  #  #  #  #  #   #    #    #     ##         ####                  ######           ###        ###         ####                                    ##      #    ##   #   #  #        #    #             # #    #  #  #   #   #   ##    ##                         ##     #    #   #   #  #  #  #    #    # # #       # # #    #    #  #     #  #  #   #   #    #    #     ##      ###            ##############             ##       ##      #     #    ##   ##   #   #   #   #   #   #  #  #   #  #  #  #  #  #    #  #    #  # #  # #  # #    # #      # #        # # # # # #             # # # # # #        # #      # #      #      #    # #  # #  # #  # #  #    #  #    #  #    #  #  #  #       #  #  #  #  #  #  #  #         #  #  # 
  #  #    #  #    #    #    #    #    # #    # #    # # #      # # #        # # # # # # # # # # # # # #          # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    #     #     ##      ##        ####                          ####        ##     ##    #    #   #   #   #  #  #  #  #  # #  # #      # # # #      # #    #  #  #  #  #   #   #    ##     ##                          ##     #    #   #  #        #  #      # # # # # #    #    #  #  #  #   #   #   ##    #      ##              #######                ###        ##        ##       ###        ####                           ###      ##    ##   #   #      #    #  # #               #    #  #  #   #   #   ##     ##                      ##     ##    #   #      #  #  #    #    # # # # # # # # #    #    #  #  #  #  #   #  #    #   #    ##     ##      ###                                   ###       ##      ##    ##    #    #    #   #   #   #   #  #   #  #         #  #       #  #  #    #    #    #    #      #      # # #        # # # # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #    #  #    #       #  #    #  #  #  #  #                       #  #  #  #  #     
   #  #    #    #  # #  #    # #  # #    # #    # #    # #      # # #          # # # # # # # # # # # #          # # #      # #    #    # #    #  # #  #       #  #  #  #  #  #  #      #  #   #   #   #   #   ##   #    ##    ##     ##      ##         #####                   #####        ###     ##    ##   #    #   #      #  #  #  #    #    # #                 #    #    #  #  #   #  #    #    #      ##                       ##     ##   #    #  #        #  #      # # # # # #    #    #  #  #  #   #   #    #     #       ###                          ###         ##       ##      ##      ##       ##         ####                    ####      ##    ##   #   #   #  #  #    #      # # # #    # #  #  #  #  #   ##   ##     ##                    ###     #    ##   #  #   #  #  #    #      # # # # # # #      #    #  #  #  #  #   #   #   #    #    #      #        ###                              ####       ##      ##     #    ##    #   #    #   #   #   #  #   #  #  #              #  #  #    #  #    #    #    # #    # #      # #          # # # # # # # # # # # # #          # # #      # #      #      #    # #  # #    #    #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  
 #  #    #  #    #    #    #    #    #    # #    # #      # #      # # #            # # # # # # # # #          # # #      # #      #    # #  # #  #    #  #    #  #  #  #  #  #  #   #  #   #  #   #   #   #    #    #    #     #     ##       ##           #######        #######          ###     ##     #    #   #       #   #  #  #  #    #    # #               # #    #    #  #      #   #   #    ##      ##                    ##      #    #   #   #        #  #      # # # # # #    #    #  #  #  #   #   #    ##    ##        ####               #####         ##       ##     ##      #      #      ##      ###        #####              ####        #     #    #   #  #  #  #  #    # # # # # # #    #  #     #  #   #    ##     ##                   ##      #    #    #  #   #  #  #    #      # # # # # # #    # #    #  #  #  #  #   #   #   #    #    ##     ##        ####                         ####        ###      #     ##    #    #    #   #    #   #  #   #      #  #  #  #     #  #  #  #    #  #    #    #    # #    # #      # # #          # # # # # # # # # # #          # # #      # # #    # #    # #    #    #    #    #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  #  #  #         #  #  #      
  #    #  #    #  #    #    #    #    # #    # #    # #    # # #      # # #              # # # # #              # # #      # #    # #    #    #    #    #  #       #  #  #  #  #      #  #   #      #   #    #   #    #    ##    ##     ##       ###            ###############            ##       #     ##   ##   #   #   #  #   #  #    #  #    # # #             # #    #  #        #  #   #   ##    #      ###                 ##      ##    #   #   #           #    # # # # # # #    # #  #  #  #  #   #   #    ##     ##         ###############           ###      ##     ##     ##    ##    ##     #      #      ###         #####         #####        ##    ##   #   #   #  #    #  # #           # #    #  #  #   #   #    #      ##                 ###      #    #    #  #   #  #  #    #      # # # # # # #    # #  #    #  #  #      #   #   ##   ##    #      ##         ####                    ####         ###      ##     #     #    #    #   #   #   #   #   #  #   #  #  #  #  #  #  #  #  #    #  # #  #    # #    #      # #      # # #          # # # # # # # #            # # # #      # #      #      #    # #    #    #    #    #  #    #  #    #  #       #  #  #  #  #                 #  #  #  #  #  #   #  #  #
#    #  #  # #  #    #    #  # #  # #    #    # #    # #      # #      # # # #                                 # # #      # # #    # #    #    #    #    #  #  #       #  #  #      #  #  #   #   #   #   #   #   ##   ##    #     ##     ##       ###                                    ##       ##     #    #    #   #   #  #           #  # #    # #           # # #    #  #        #  #   #    #    ##      ####            ####      ##    #   ##  #   #  #    #    # #       # # #    #  #  #  #  #   #   #    ##     ###                              ###      ##     ##     #    ##    #    ##    ##    #     ##      ##         ######       #####        ##    #    #   #  #  #  #  # #      # #      # #  #  #  #       #    #      ##                ###      #    #    #  #   #  #  #    #      # # # # # # #    # #  #    #  #  #   #  #   #    #   ##    ##      ##         ######             ######         ###      ##     ##    ##    #   ##   #   #   #   #   #  #      #  #  #  #  #  #  #    #  #    #  # #  # #    #      # #      # # #              # # # # #            # # # #      # # #    # #    # #    #    # #  # #  # #  #    #    #  #       #  #       #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #
      #  #    #  #    #    #    #    #    # #    #      # #    # # #      # # # #                             # # # #      # #      #    # #    #    #  #    #  #          #         #  #   #  #   #   #   #   #    #    #    ##    ##      ##       ####                               ###       ##     ##    #    #   #   #  #  #     #  #  # #    # #           # # #    #  #        #  #   #    #    ##       #####        ####       ##    #    #  #   #  #  # #  # #           # #    #           #   #   #    ##     ###                           ##       ##     ##    #    ##    #    #    #    #    #    ##     #      ##        #####         ####        ##    #    #      #  #  # #    # # # # # #    #    #      #   #    ##     ###               ###      #    #    #      #  #  #    #    # # # # # # # #    # #  #    #  #  #   #  #   #    #    #     #      ###          ###################            ##       ##     #     #    ##   #    #   #   #   #      #      #  #  #  #  #  #  #    #  #    #  # #    #    # #    # #      # # # #                                 # # #        # #      # #    # #    #    #    #    #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  #  #  #         #  #  #      #  # 
    #  #    #  #    #  #    #    #    # #  # #    # #    # #      # #        # # # #                           # # # #      # #      #    # #    #    #  #    #  #  #              #  #  #   #  #   #   #   #   ##   #    #     #     ##     ###        ###                            ###        ##     #    ##   #    #  #   #  #  #  #  #    #    # #           # # #    #  #     #  #  #   #    #     ##       ###############       ##    #    #   #  #  #  #    #               # #    #  #  #   #  #    #    ##     ###                        ###      ##     ##    #    ##   #    #    #   #    #   ##   #    ##    ##     ##        ####           ####       ##    #    #  #        #  # #             #    #  #  #       #    #      ###              ###      #    ##   #   #  #  #  #    #    # # #     # # #      #    #  #  #  #   #  #   #    #    #     ##      ##             #############             ##       ##     ##     #    #    #    #   #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # # # #                               # # # #      # # #    # #      #    # #    #    #    #    #  #    #  #    #  #    #  #  #  #  #                       #  #  #  #  #      #  #     
  #  #  #    #  #    #    #  # #  # #  # #    #    # #    # #      # # #      # # # # #                       # # # #        # #    # #    # #    #  # #  #    #  #  #              #  #  #   #  #   #   #   #    #   #    ##    #     ##      ##         ####                       ####        ##     ##    #    #   #   #   #  #  #  #  #    #    # #           # # #    #  #     #  #  #   ##   #     ##        ############        ##    ##   #   #  #  #  #  # #    # # # # #    # #  #  #  #  #   #   #    ##      ##                       ###      ##     ##    #    #   ##   #   #   #    #   #   #   #    #    #    ##     #       ####               ###       #    #    #  #  #  #  #    # # # # # #    #    #  #   #   #    #      ###              ###      ##    #   #   #  #  #  #  # #    # #         # # #    #    #  #  #  #   #  #   ##   #    ##    ##       ##                                    ###       ##     ##    ##    #    #   ##   #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #    #    # #    # # #      # # #                               # # #        # #      # #    # #    #    # #    #  # #  #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  
#  #  #    #  #    #  #    #    #    #    #    # #    #      # #    # # #        # # # #                       # # # #      # # #    # #    # #  # #  # #  #    #  #  #  #        #  #  #  #   #      #   #   #    #   ##    #    ##     ##      ##         #####                  #####        ##      ##    #    #   #   #   #  #  #  #  #    #    # #             # #    #  #        #  #   #    #     ##        ###########        ##     #   #   #   #  #    #    # #       # #    #    #  #   #  #    #    #      ###                      ###      ##    ##    #    #   #   #   #   #   #   #   #   #   #   #   #    #    #     ##      ###                   ###     ##   ##   #  #  #  #  # #             # #  #  #  #  #   #    ##     ###               ###     ##    #   #   #  #     #  #    # #             # #    #    #  #  #  #   #  #   ##   #    ##     #       ###                                 ###       ##      #     ##    #    #   #    #   #   #  #   #  #      #  #  #  #  #  #    #  #    #    #    #    # #    # # #      # # # #                           # # # #        # #      # #    # #    #    #    # #  #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   
 #  #    #  #  #    #    #  #    #    #    #    # #    # #    # #      # #        # # # # #                   # # # # #      # # #    # #    # #  # #  # #  #    #  #  #  #        #  #  #      #   #  #   #   ##   #    #    #    ##     ##      ###          ######            #####          ##      #     #    #   #   #   #  #  #  #  #  # #    # #             # #    #  #        #  #   #    #     ##         #########         ##    #    #   #  #  #  #    #               #    #  #  #  #   #   #    #      ##                       ###      ##    #    ##   #   #   #   #   #   #  #   #  #   #   #  #   #   #    #   ##    ##     ###                       ##     #    #   #  #  #  #    # # #   # # #    #  #  #  #   ##   ##     ###               ###      #    #    #  #           #    # #               #    #    #  #  #  #   #  #   ##   #    ##     ##       ###                              ###        ##      #     #     #    #   #    #   #   #  #   #  #      #  #  #  #  #       #  #    #    #    #    # #    # # #      # # # #                           # # # #      # # #    # #      #    # #    #    #    #    #    #  #    #  #       #  #  #          #  #  #  #  #  #         #  #  #  #   #  #  #   #  #
  #       #  #    #  #    #  # #  #    #    # #    #    # #    # #      # # #      # # # # # #                 # # # # #      # # #    # #    # #  # #  # #  #    #  #  #  #        #  #  #      #   #  #   #    #   #    #    #     #     ##       ##           ####################          ###     ##     #    #   #   #   #  #  #  #  #  # #  # #               # #    #    #  #   #  #   #    #     ##         ########         ##     #   #   #           #    # # # # # #    #    #  #  #   #   #    #      ##                        ##      ##    #    #    #   #   #  #   #  #   #  #  #   #  #  #   #  #   #   #   #    #    #     ##          #########         #     #   #   #  #  #  # #    # # # #    #    #  #   #   #   ##     ###                ###     ##    #   #   #  #  #  #    # #      # # #      # #    #  #  #  #  #      #   #    #    ##     ##       ###                            ####       ###     ##     #    ##    #   #    #   #   #  #   #  #      #  #  #  #  #  #    #  #    #    #    #    # #    # # #      # # # #                         # # # # #      # # #    # #    # #    # #    #    #    #    #  #    #  #    #  #    #  #  #  #  #                       #  #  #  #  #   #  #  #   #  #  # 
#       #  #  #    #  #    #    #  # #  # #  # #    #    # #    # #      # # #        # # # # #                 # # # # #      # # #    # #    # #  # #  # #  #    #  #  #  #        #  #  #      #   #  #   #    #   #    #    #     #      ##      ###            ###############            ##      ##    ##    #   #   #   #  #        #  #    # #                 # #  #    #  #  #   #   #    #     ##         #######          ##    #    #   #  #  #  #    # #           # #  #    #      #   #    #     ##                          ##      #    ##   #    #   #  #   #  #      #  #  #  #  #  #      #  #  #   #  #   #    #    #    ##       ####          ####      ##   ##   #  #  #  #  # #           # #       #   #   #   ##     ##                  ###     #    #   #   #  #  #  #    #      # # # # #      #    #  #        #  #   #   #    #    ##     ##       ####                         ####        ##      ##     #    ##   ##   #    #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #    #    # #    # # #      # # # #                         # # # #        # #      # #    # #    # #  # #    #    #  # #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   # 
      #  #  #    #  #    #  #    #    #    #    #    #      #      # #    # # #        # # # # #                 # # # # #      # # #    # #    # #  # #  # #  #    #  #  #  #        #  #  #      #   #  #   #    #   #    #    ##    ##     ##       ###              #########             ###      ##    ##    #   #   #   #  #        #  #    #        # # #      # #    #  #  #  #   #   #   ##    ##         ########         ##     #   #   #   #  #    #    # # # # #      #  #     #  #   #   ##    ##         ##########          ##     #    #    #   #   #  #      #  #  #  #  #  #  #  #              #  #  #   #  #   ##   #    ##     ###                   ##     ##   #   #        #    # #     # #    #        #   #   #     ##                    ###     #    #   #  #        #  #      # # # # # # #    # #  #    #      #  #   #   #    #    ##     ##        ####                      ####         ##      ##     #    ##   ##   #    #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #    #    # #    # #        # # # #                         # # # #        # #      # #    # #    #    # #  # #  # #  #    #    #  #       #  #       #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #  
    #  #  #  #    #  #    #  #    #    #    #    #    # #    #      # #    # # #        # # # # #                 # # # # #        # #    # #    # #    #    #  #    #  #  #           #  #  #      #   #  #   #    #   #    #    ##    ##     ##       ###                                   ###      ##    ##    #   #   #   #      #  #    #    #      # # # # #      #    #  #  #  #  #   #    #     ##         #########        ##     #   #   #  #  #  #    #             #    #  #  #  #   #   #     #       #####       #####       ##     #    #   #   #   #  #      #  #       #  #  #    #  #  #       #  #  #      #  #   #   #    ##    ##         ########         #     #   #   #  #    #    # # # # #    #        #   #   #     ##                     ##     ##   #   #   #  #  #    #    # #           # #    #    #  #  #  #   #   #   #    #    ##     ##        ####                     ####         ##      ##     #    ##    #   #    #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #  # #  # #    # #    # #        # # #                           # # # #        # #      # #    # #    #    # #  # #  #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #  #      #  #   #  #      
  #  #  #  #    #  #  #    #  # #  #    #    #    #    # #    #      # #    # # #        # # # # #                 # # # # #        # #      #    # #    #    #  #    #  #  #              #  #  #   #      #   #    #   #    #    ##    ##     ##       ###                                  ##       ##     #    #    #   #  #   #  #  #    #  #      # # # # # # #      #  #        #  #   #    #    ##        ###########        ##    ##   #   #  #  #  # #    # # # # # #    #  #  #  #   #   #    #      ###                ###      ##    #    #   #   #  #      #  #       #  #    #  #    #    #  #    #  #           #  #   #   #   #    ##      ###             ###      #    #   #  #  #  # #    # # #      #        #  #    #    ##                        ##    #    #   #  #     #  #    #                 # #  # #  #  #  #  #   #  #    #   ##    #      ##        #####                  #####         ##      ##     #    ##    #   #    #   #   #      #      #  #  #  #  #  #  #  #    #  # #  #    # #    #      # #      # # # #                           # # # #        # #      # #    # #    #    #    #    #    #    #  #    #  #    #  #  #  #          #  #  #  #  #         #  #  #  #      #  #      #  #   #  #
#  #  #  #  #    #  #    #  #    #  #    #    #    #    # #    #      # #    # # #        # # # #                     # # # # #      # #      #      #    #    #  # #  #  #       #  #      #  #  #   #  #   #   #   ##   #    #    ##    ##     ##        ###                               ###       ##     #    #    #   #      #  #  #  #    #    # # #         # #    #    #  #  #   #   #   #     ##       #############       ##    ##   #      #  #    #               # #  #  #  #  #   #    #     ###                     ###     ##    #   #   #   #  #  #  #  #  #    #  # #  # #  # #    #    #    #    #  #           #  #   #   #    #     ##                      ##    ##   #  #        #               #           #   #     #        ##########        ##    #    #  #   #  #  #    #      # # # # #      #    #  #        #  #   #   #    #     #      ##        #####                 ####          ##      ##     #     #    #   ##   #   #   #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #      #      # #      # # #                               # # #        # #      # #    # #    #    #    #    #    #    #  #    #  #  #    #  #  #  #                       #  #  #  #  #      #  #      #  #   #  #   #
 #  #  #  #    #  #  #    #  #    #  #    #    #    #    # #    # #    # #    # # #        # # # #                       # # # #      # # #    # #    #    #    #    #  #  #    #  #  #  #      #  #   #  #   #   #   #    #    #    ##    ##     ##        ###                              ###       ##     #    #    #   #   #  #  #  #  #  #    # #               # #    #  #  #  #  #   #    #    ##       #####    ######       #    ##   #  #        #    # #       # #    #  #  #  #   #   #     ##        ##########        ##     #    #   #   #      #  #  #    #  # #  # #    #      #      # #    #    #    #    #  #  #  #   #   #   #    ##      ###           ###      #    #   #  #  #    #             #    #  #   #   #    #       #####    #####       ##    #   #   #  #     #  #    # # #     # # # #    #    #  #  #      #   #   #    #    ##     ##         #####               #####          ##      ##     #     #    #    #   #   #   #   #  #   #  #  #           #  #  #    #  #    #    #    # #    # #      # # # #                               # # # #      # #      # #    # #    #    #    #    #    #  # #  #    #  #  #    #  #  #  #  #  #  #     #  #  #  #  #  #  #      #  #  #   #  #      #      # 
  #  #  #       #  #  #    #  #    #  #    #    #    #    # #    #      # #    # # #      # # # # #                       # # # #        # #    # #    #    #    #    #  #    #  #  #  #  #  #   #  #      #   #   #   #    #    #    #     ##     ##        ###                             ###       ##     #    ##   #   #   #              #    #      # # # #      # #  #    #      #   #   #    ##      ####          ####      #    ##   #  #        #    # # # # # #    #        #  #   #    ##      ###             ###      ##    #    #   #  #   #  #       #    #    #      # #      # # #      # #      #    #    #  #        #  #   #    #     ##                      #     #   #      #    #             #    #  #      #    ##     ###            ###      ##    #   #   #  #  #  #    # #               # #  # #  #  #  #  #   #  #    #   ##    #      ##         #####              #####          ##      ##     ##    #    #    #   #   #   #   #      #  #         #       #  #  #    #    #    #    # #    # #      # # #                                 # # # #      # #      # #    # #    #    #    #    #    #  #    #  #    #  #       #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #  #   #  #   #  #  
#  #  #  #       #  #  #    #  #    #  # #  #    #    #    # #    #      # #    # # #      # # # #                           # # # #      # #      #    # #    #  #    #       #  #  #  #  #  #      #  #   #   #   #   #    #   ##    #     ##     ##        ###                            ###       ##     ##    #   ##   #  #   #  #  #  #    #      # # # # # # #    #    #  #  #  #   #   #    ##      ###             ###      ##    #   #  #     #  #      # # #      #    #  #   #  ##   #     ##                      ##     ##   #    #  #   #  #  #    #  #    # #      # # #          # # # # #        # #    # #    #  #  #  #  #   #   #    #      ###            ###     ##   #   #  #  #  # #           # #  #  #  #   #   ##     ##                 ##      #    #   #  #        #  # #    # # # # #      # #  #           #  #   #   #    #    ##      ##         #####             ######         ##       #     ##    #    ##   #   #    #  #   #   #  #      #  #  #  #  #    #  #    #  # #  # #    #    # # #    # # # #            # # # # #              # # #      # # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #      #   #  
 #  #  #       #  #  #       #  #    #  # #  #    #    #    # #    #      #      # #        # # #                               # # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #   #   #   #   ##   ##    #     #      ##        ###                           ####       ##     #    #    #   #   #  #  #  #  #  # #    # #           # #    #           #  #    #    #      ##                 ##      #    #   #  #     #  # #             #    #  #  #   #   #    ##       #############        #     #   #   #   #  #  #  #  # #  # #    # # #                                  # # # #    # #    #  #  #  #  #   #   #     #        ########        ##    #   #  #  #  # #             #  #     #  #    #    ##                     ##     #    #   #  #  #  #  #    # # #         # #    #    #  #  #  #   #  #    #   ##    ##     ##         #####             ######         ###      ##     #    ##    #   #    #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #    # #    # #      # # #          # # # # # # # # #          # # #        # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #  #   #  #      #  #   #  #   #   
  #  #          #  #  #       #  #    #  # #  #    #    #    # #    #    # #      # #      # # # #                #                # # #      # #    # #    #    #    #    #  #  #  #        #  #  #      #   #  #   #    #   #    #    ##    ##      ##        ###                           ###       ##     ##    #   #   #   #      #       #    #                 # #    #  #  #  #   #   #    #     ##                    ##     ##   #   #        #  # #           # #  #        #   #   ##     ##                  ###     ##   #    #  #   #  #    #  #    # #          # # # # #            # # # # # # # # # # # #      #    #  #     #  #   #   ##     ##                 ##     #   #   #  #  # #      #      #    #  #   #   #    ##         ######         ##    #    #      #  #  #    # #      # #        #    #           #  #   #   #    #    ##     ###        ######             #####          ##      ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #    #  #    #    #    #      #      # # #        # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #  #   #  #  #   #  #   #  #   #  #   #
#  #          #  #  #  #    #  #  #    #  # #  #    #    #    # #  # #    # #      # #      # # #            # # # # # # #            # # #      # #    #    # #  # #  #    #  #          #         #  #   #  #   #   #   #    #    #    ##    ##     ###       ####                          ####       ##     #    #    #   #      #  #  #  #    #      # # # # # #      #       #      #   #    #     ##                      ##     #   #   #        #  # # #       # #    #  #  #   #   #    ##       ###########        ##    ##   #   #  #     #  #    #    # # #               # # #      # # #      # # # #         # # #      #    #  #  #   #   #    #      ###         ###      #    #   #  #  # #    # # # #    #  #  #  #   #    #       ####      ####       #    ##   #  #   #  #    #    # # # # # # # #    #    #  #  #  #   #  #   ##   #     #      ##        ######              #####         ###      #     ##    #    #    #   #   #   #   #      #  #  #           #  #  #    #  #    #    # #    # #      # #        # # # # # # # # # # # # # #        # # #      # #      #    # #    #    #    #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  #  #         #  #  #      #  #      #  #   #  #   #      # 
               #  #  #  #    #  #  #    #  # #  #    #    #    #    # #    # #    # #      # # #          # # # # # # # # # # #          # # #    # #    # #    #    #    #  #       #  #  #  #  #      #  #   #   #   #   #   ##   ##    #     #      ##        ###                           ###       ##     ##    #   #   #   #  #        #  #    # #             # #    #  #  #  #  #   #    #    ##         #######         ##    ##   #      #    #  # # #     # #    #        #   #   ##     ##                  ##     ##   #   #   #  #  #  #    #    # # #         # # # #      # #    # #    # #    # #                   # #    #  #     #  #   ##    #        ########       ##    #      #  #    # # # # # #    #  #  #   #    #     ###              ###     ##    #   #  #        #    #                 #    #       #      #   #   #   ##    ##     ##        #####                #####         ##      ##     #     #    #   #    #   #   #  #   #  #      #  #  #  #    #  #  #    #    #    #    # #      # #        # # # # # # # # # # # # # # # #        # # #    # # #    # #    #    #    # #  #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  #         #  #  #  #   #  #  #   #  #      #      #   #  #  
                #  #  #  #    #  #  #    #  #    #    #    #    #    # #    # #    # #      # # #        # # # # # # # # # # # # # #        # #      # #    #    # #  #    #  #    #  #  #  #  #  #  #   #  #   #      #    #   #    #    ##    ##      ##       ####                           ###       ##     #    #    #   #      #  #  #  # #  # #      # # # #      #    #  #  #      #    #    ##       ###### #######      ##    #   #   #  #  #    # # #   # # #    #  #  #       #    #       #############       ##    #   #   #  #  #  #  # #    # #           # # #      #    # #    #    #    #    # #    # # # #     # # #    # #  #  #  #   #   #    ##                   ##    #       #  #    # #       # #  #     #  #    #    ##                    ##     #    #   #  #  #  #  # #    # # # # # # #    #    #  #  #  #  #   #   #    #    ##     ##        #####                 #####         ##      ##    ##    #    #    #   #   #   #   #  #      #  #  #  #  #  #    #  #    #  # #  # #    # #    # #        # # # # #                 # # # # #        # #      # #    # #    #    # #  # #  # #  #    #  #    #  #    #  #  #  #          #  #  #  #         #  #  #  #      #  #      #  #   #  #   #  #   #   #  
              #  #  #  #  #    #  #  #    #  #    #    #    #    #    #      #      # #    # # #        # # # # # # # # # # # # # # # #        # #      #    # #    #    #  #    #  #  #        #  #  #  #   #  #   #   #   #    #    #    #     ##     ##        ###                            ###       #     ##    #   #   #   #           #  # #    # # #     # # #    #           #  #    #    #      ###             ###     ##    #   #  #  #  #    # #     # # #    #  #  #   #   ##    ##                    ##     #    #   #  #        #    # #                 # #    #    #    #  #    #  #    #    #    # #    # # # # # # #    # #  #  #  #   #   ##    ###              ##     #    #  #  #  # #           # #  #  #  #   #    ##        #########        #     #   #   #  #  #  #    #                 # #  #    #  #  #   #  #   #    #    ##     ##        ####                   #####        ###     ##     #     #    #   #   ##   #  #   #      #  #  #  #  #  #  #  #    #  #    #    #    # #    # #        # # # #                         # # # #      # # #    # #    # #    # #  # #    #    #  #    #    #  #  #    #  #  #  #          #  #  #            #  #  #  #   #  #  #   #  #      #  #   #   #  #   #   
#              #  #  #  #  #       #  #    #  #    #    #  # #  # #    #    # #    # #      # #        # # # # #                   # # # #        # #    # #    #    #    #    #  #       #  #  #      #  #  #   #   #   #   #   #    #    ##    ##     ##        ###                             ###      ##     ##   ##   #   #   #  #  #  #  # #  # #                 #    #  #  #  #  #   ##   ##     ##                  ##      #   #   #        #  # #         # #  #        #   #    #      ###          ####      #    #   #   #  #  #    #      # # # # # # #    # #  # #  #    #  #  #  #       #  #  #    #    #      # # # # # #    # #  #  #  #   #   ##     ###          ###     #    #  #  #  #    # # # #    # #  #  #   #    #      ###           ###      #    #   #   #  #  #  # #    # # #   # # #      #  #           #   #   #   #    ##     ##        ###                      ####        ##      ##    ##    #    #    #   #   #   #  #   #  #      #  #  #       #  #    #  # #  # #    #      # #      # # #                               # # # #      # #      # #    #    # #    #    #    #  # #  #    #  #  #    #  #  #  #             #            #  #  #  #      #  #  #   #  #   #  #   #  #   #  #   #   #
 #              #  #  #  #  #       #  #    #  #    #  # #  #    # #  # #    # #    # #    # # #      # # # #                           # # #      # # #    # #    #    #    #  #    #  #  #  #  #  #  #   #  #   #  #   #   #    #    #    #     #      ##       ###                              ###      ##     #    #    #   #  #      #    #  #      # # # # # # #    # #  #  #  #  #   #    #     ##                      ##     #   #   #  #  #    #           # #  #     #  #   #     #         ######         ##    #   #   #  #  #  #    #                 # #    #  #    #  #  #  #  #  #  #  #  #  #  #  #    #  # #    # # # # # # #    #  #     #   #   ##      ####    ####      #    #      #    # #       # #           #   ##    ##                   ##     #    #   #  #  #  #    #      # # # #      #    #  #  #  #  #   #   #   #    ##     ##       ####                       ####        ##      #     ##    #    #   #   #   #   #   #  #   #  #  #  #  #  #  #    #  #    #    #    # #    # #    # # #            # # # # # # # #          # # # #      # #    # #    # #    #    #    #    #    #  #    #  #       #  #  #  #                          #  #  #  #      #  #      #  #   #  #   #  #   #   #  #   # 
  #  #           #  #  #  #  #  #    #  #  #    #    #  #    #    #    # #    #    # #      # #      # # #                                 # # # #    # #      #    # #  #    #    #  #  #  #        #  #  #   #  #   #   #   #   #    #    ##    ##     ##       ###                               ###      ##     #    #   #   #   #  #  #  #  #    # #               # #    #  #  #  #   #    #    ##       ############       ##    #   #  #     #  # #           # #  #  #  #   #   #     ##                  ##     #    #   #  #  #  # #  # # #         # #    # #  #       #         #  #  #   #  #  #              #  #    # #           # #    #  #      #    ##      ##########      ##   #   #  #  #      # #      #        #   #    ##       #########        #     #   #   #  #  #  #    # #           # #    #    #  #  #  #   #   #   ##   ##     ##       ###                          ###        ##      #     #    ##   #    #   #   #   #  #   #  #  #           #  #  #    #  #    #    # #    # #    # # #        # # # # # # # # # # # # #          # #      # #      #      #    #    #    #    #    #  #    #  #    #  #  #  #             #               #  #  #  #      #  #      #  #   #  #   #   #  #   #   #  #  
#  #  #              #  #  #  #  #    #  #  #    #  #    #    #    #    #    # #    # #    # #      # # #          # # # # # # # # # #          # # #    # #    # #    #    #    #  #       #  #  #  #      #  #   #  #   #   #    #   ##    #    ##     ##       ###                                ###      ##     #    #   #   #   #  #  #  #    #    # # # # # # # #    #    #  #      #   #    ##      ###            ###     ##    #   #  #  #  # #    # # #      #  #  #  #   #   ##     ###           ###      #    #   #   #  #    #    # # # # # # #    # #  #    #  #      #  #      #   #      #   #  #  #           #    #      # # #      #  #  #  #   #    #        ######       ##    #  #     #  # #       # #  #  #  #   #   #      ###            ###     ##   #       #  #  #    #    # # # # # #      #    #  #  #      #   #   ##   ##     #       ###                            ####       ##     ##     #    #    #   #    #  #   #   #  #      #  #  #  #  #    #  #    #  # #    #    # #    # # #      # # # # # #         # # # # # # #        # #      # #    # #    #    # #  # #  # #  #    #    #  #  #    #  #  #  #          #  #  #            #  #  #  #   #  #  #   #  #      #      #   #  #   #   #   #  
 #  #                    #  #  #  #       #  #    #  #    #    #  # #    #    #    # #    # #      # # #        # # # # # # # # # # # # # #        # # #    # #    # #    #  # #  #    #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    #     #     ##       ###                 #                ##      ##     #    #   #   #  #   #       #    #      # # #      # #  #    #  #   #   #    #     ##                   ##     #    #  #   #    #    # # # # #    #  #  #  #   #    ##       ##########       ##    #   #      #    #    # # # # # # #    #    #  #  #  #  #   #  #   #   #   #   #   #   #   #      #  #  #    #    # #       # #    #  #  #   #    #         ###         #    #   #  #  #      # # #    #  #  #  #   ##    ##                    ##    ##   #   #  #  #  #    #                 #    #           #  #   #   #    ##    ##      ###                               ###       ##     ##    ##    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #    #  #    #    #    # #    # #        # # # #                       # # # #        # #      #      #    # #    #    #    #  # #  #    #  #       #  #  #          #  #  #  #            #  #  #  #   #  #  #   #  #   #  #   #  #   #      #   #   #   
  #  #                    #  #  #  #  #    #  #  #    #    #  #    #    #    # #    # #    # #    # # #        # # # # #               # # # # #        # #    # #    #    #    #    #  #  #                 #  #   #  #   #   #    #   #    ##    #     ##       ##             ###########            ###      #     #    #   #   #  #  #  #  #  #    # # #         # #    #    #  #   #   #   #     #          #####         ##    #    #  #  #  #    # #       # #  #        #   #    ##                     ##     #   #      #    #    # #     # # #    #    #  #  #      #   #   #   #   #    #   ##   #   #   #   #      #       #    # # # # #    # #  #  #   #    ##         ##         #    #   #  #    #         # #  #     #   #   ##      ###### ######       #    #    #  #  #  #  #    # #           # #    #  #        #  #   #   #    #     ##      ##                                  ##       ##     ##    ##   ##   #    #   #   #  #   #  #      #  #  #  #    #  #  # #  #    #    # #    # #      # # #                                 # # #        # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  #         #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #
#  #  #                       #  #  #  #       #  #    #  #    #    #    #    #    # #    # #      # #      # # # #                           # # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #   #  #   #   #   #   #   ##   ##    ##     #       ##           #################          ##      #     #    #   #   #  #  #  #  #    #      # # # # #      #       #      #   #    ##      ####         ###      ##    #   #  #  #    #             #    #  #   #   #     ##                  ##    ##   #   #  #  #    # #           # #  # #  #  #  #   #  #   #    #   ##   ##    #    #    #    #   #   #  #   #       #      # # #    #    #  #   #    #         ###        ##    #  #     #    # # # #    #        #   ##    ##                 ##     ##   #   #           #    # # # # # # #    # #  #  #     #  #   #   #    #     #      ##            ############            ###      ##     ##    #    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #    #  # #  # #  # #    # #      # #          # # # # # # # # # # #          # # #    # # #    # #    #    # #  # #  # #  #    #    #  #       #  #  #       #  #  #  #  #  #  #         #  #  #      #  #      #  #   #  #   #      #   #      #   #   # 
 #  #            #  #  #          #  #  #  #    #  #    #  #    #  # #  # #    #    #      #      # #      # # #            # # # # # # #          # # #      # #    # #    #    #  #    #  #              #  #  #   #  #   #   #   #    #    #    ##     #      ###          ######        ######         ###     ##    #    #   #      #  #  #    #  # #               # #  #    #  #   #   #   ##     ##                  ##     #    #   #  #  # #    # # # # #    #  #  #   #   #     ###              ##     ##   #   #  #  #  # #      # #      #    #  #  #  #      #    #   ##    #     #     #     #    ##    #   #   #   #  #  #    #             # #  #  #   #   ##       #######       #    #  #  #  #      #      #    #   #  ##   ##       #########        ##    #   #   #  #  #    #      # # # #      #    #  #  #  #  #   #   #    #    ##     ##          ###################          ##       #     ##    #    #    #   #   #   #      #  #      #  #  #       #  #    #    #    #    # #    # # #      # # # # # # # # # # # # # # # #        # # #    # #      #    # #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #  #   #  #      #  #   #  #   #   #  #   #   #  #   #   #  
  #  #         #  #  #  #  #  #       #  #  #  #    #  #    #  # #  #    #    #    # #    # #    # #      # # #        # # # # # # # # # # # # #        # # #    # #    # #  # #  # #  #       #  #  #  #  #  #   #  #   #  #   #    #   #    #    ##    ##      ##         #####               #####        ##     ##    #    #   #  #   #  #  #    #    # # #     # # #    #    #  #      #    #    ##        ########        ##    #   #           # #         # #  #     #  ##   #      ##           ###      #    #  #        #    # # # # # #    #    #  #      #   #    #    #     #      ##     ##     ##     #    #    #   #  #     #  #        #      #  #  #  #    #      ##########      #    #  #  #  # #         #    #  #   #   #     ###              ###     #    #   #  #  #  #    #               # #    #  #  #  #  #   #   #   ##    #     ###        #####             #####          ##      ##    ##    #    #   ##   #   #      #   #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # # # #                         # # # #      # # #    # #    # #    #    # #  # #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #  #   #  #      #  #   #  #   #   #  #   #   #   #  #   #   
#  #  #      #  #  #  #  #  #  #  #       #  #  #    #  #  # #  #    #    #    #    #    # #    # #      # #        # # # # #                 # # # #        # #    # #    # #  # #  #    #  #  #              #  #  #   #   #   #   #   #    #    ##    ##      ##        ####                    ####        ##     #    #    #   #  #   #  #    #  # #    # # # # #      #    #  #  #   #   #    #      ###            ###     ##   #   #        #    # # # #    # #  #  #   #    #      ###        ###      #    #   #  #  #  # #             # #  #        #  #   ##   #     #     ##       ##        ##      ##     #    ##   #   #  #  #  #      # # #    #    #   #   #      ###     ####     #    #  #  #  # # #   # # #  #  #  #   #    ##        ######        ##    #    #  #     #  #    # #           # #    #  #  #  #  #   #   #   #    ##     ##       ####                    ####        ##      ##    ##    #    #   #    #  #   #   #  #      #  #  #  #       #  #    #    #    # #    # #      # # #            # # # # #            # # #      # # #    # #    # #    #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #  #   #      #   #  #   #   #   #   #  #   #
 #  #      #  #  #  #  #  #  #  #  #  #       #  #  #    #  #    #  # #  #    #    # #    #    # #      # #      # # # #                             # # #      # #      #    #    #    #  #    #  #  #  #  #  #  #   #  #   #   #   #   ##   #    ##    ##     ##        ###                         ###       ##     #    ##   #   #  #           #    #                 #    #  #  #  #   #    #     ##                    ##    ##   #        #  # #         # #  #  #  #   #   ##      ####    ####       #    #   #  #  #    # #       # #    #        #  #   #    #     ##     ###        ####         ###       ##     #    #   #   #  #  #    # # # # #    #  #  #   #     ###          ##     #   #  #  #    # # # # #  #        #   ##     ##              ##     ##   #   #   #  #    #    # #       # # #    #  #     #  #  #   #    #    #     ##       ###                         ###        ##     ##     #    #    #   #   #   #   #      #  #  #        #  #  #    #  #    #    #      #      # #          # # # # # # # # # # # # #        # # #      # #    # #    #    #    # #  #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #  #   #      #   #      #   #   #   #   #   #
  #  #      #  #  #  #  #  #  #  #  #  #  #       #  #  #    #  #    #    #    #    #    #      #      # #      # # #        # # # # # # # # # # #        # # #      # #    #    #    #    #  #       #  #  #      #  #   #  #   #   #    #   #    ##    ##     ##       ###                             ###      ##     #    #   #   #  #           #    # #           # #    #  #  #  #       #    #       #####   ######      #    #   #        #    # # # # #    #  #  #   #    #      ############      ##   ##  #   #    #    # # # # #    #    #      #   #    #    ##      ###            ######             ###       #     #   #   #  #  #  # #         #    #  #   #    ##              ##    #   #     #    # # # #    #  #  #   #    ##        ######        ##    #   #   #  #  #  #      # # # # # #      #  #        #  #   #   #    #     ##      ###                              ###       #      #     #    #    #   #   #   #   #  #      #  #  #  #  #  #    #  #    #    #    # #    # # #      # # # #                   # # # # #        # #      # #    #    # #    #    #    #  # #  #    #  #  #    #  #  #  #  #              #  #  #  #  #  #   #  #  #      #  #   #  #   #      #   #      #   #   #   #   #   # 
#  #      #  #  #  #  #  #  #  #  #  #  #  #  #  #    #  #       #    #  #    #    #    # #    #      # #    # # #        # # # # #           # # # # # #      # # #    # #    #    #    #  #    #  #  #  #  #  #  #      #      #   #    #   #    ##    #     ##       ###                                ###      ##    #    #   #   #           #  #    # # # # # # # #    #           #   #   ##     ##                 ###    ##   #      #    #             #        #  #    #       ###########      ##   ##  #        #    # # # #    # #  #  #  #   #    #    ##      ###                    #############           ##     ##   #   #   #    #    # # #    #        #    #                  #    #        #    # # #    #        #   #     ##               ###     #   ##  #   #  #    #    # # # # # #      #  #    #      #   #   #   ##    ##      ##             #######              ###      ##     ##    #    #    #   #   #   #      #  #         #       #  #  #    #    #    # #    # #      # # #                #                # # #      # #      #      #    # #  # #  # #  #    #  #    #  #    #  #  #  #                          #  #  #  #      #  #      #  #   #  #   #      #   #   #  #   #   #   #   #   #  
 #  #   #  #  #  #  #                    #  #  #  #  #    #  #    #  #    #    #  # #    #    # #    # #    # #        # # #                             # # #      # #    # #    #    #    #  #    #  #  #  #  #  #   #  #   #   #  ##   #   #    #     #     ##      ###           ##############           ##      #    ##   #   #   #      #    #  # #    # # # # # #    #    #  #  #   #   #    ##        ##########       #    #   #   #  #    # #       # #  #  #  #   #   ##      ###########       #    #  #   #    #      # #      #        #  #   #    ##     ###                                                 ###      ##    #   #  #  #  # #         #        #   #       ########      #   #   #  #    # # # #    #  #  #   #   ##       ##########       #    ##   #  #  #  #  # #    # # # # #      #    #  #  #      #   #    #    ##     ##          ##################          ###      ##    ##    #    #    #   #   #   #  #   #  #  #  #  #  #  #  #    #  #    #    #      #      # #        # # # # # # # # # # # # #          # #      # #      #    # #    #    #    #    #  #    #  #    #  #  #          #  #  #  #  #  #         #  #  #  #   #  #  #   #  #   #  #   #      #   #   #  #   #   #   #   #   #   
  #      #  #  #  #         #  #  #  #  #       #  #  #  #    #  #    #  #    #    #    #    # #    # #    # #      # # #        # # # # # # # # # # #        # # #      # #    #    #    #    #  #  #              #  #  #   #   #   #   #   #    #    ##     #      ###         ######          #####         ##     ##    #    #   #  #   #  #    #  # #    # # # #      # #  #  #  #  #   #    #     ###               ###     #   #   #  #  #    # # # # #    #  #  #   #   ##     ####     ####      #    #   #  #    #    # # #      #  #  #  #   #   ##    ##         ################                ##################        #    ##   #  #  #    # # # # #    #      ##    ###         ##     #   #  #  #    # # # #    #  #       #    ##                 ###    #    #   #  #  #    #      # # # #      #    #  #  #  #   #   #   #    ##     ##        ####                #####         ##     ##     #    ##   #    #   #   #      #      #  #  #  #  #  #    #  #    #    #    # #    # #        # # # #                     # # # #        # #      #      #    # #    #    #  # #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  #   #   #   #  #   #   #   #   #   #   #
#  #   #  #  #  #      #  #  #  #  #  #  #  #  #       #  #  #    #  #    #    #  # #  # #  # #    # #    # #    # # #      # # # # # #             # # # # #        # #    # #    #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    ##    ##     ##         ####                   ####       ##     ##    #   #   #   #  #  #    #  # #        #      # #  #    #      #   ##    #        #########       ##    #   #  #  #  #      # #    # #  #  #   #   #      ###        ###      #   #   #  #  #      # # #      #  #  #  #   ##   ##      ##                    ####          ###             #######         ##    ##   #  #  #    # # # #    #  #   #    #                #    #   #  #    # # # # #  #        #    #      ###       ####      #    #   #        #  #      # # # #      #    #  #  #  #  #   #   ##   ##     #       ###                         ###        ##     ##    ##    #   #    #   #   #  #   #  #      #  #  #       #  #    #    #    #      #      # # #            # # # # # #            # # #      # #      #      #    #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #      #  #   #  #   #  #   #  #   #   #   #  #   #   #   #   #   #   # 
 #      #  #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    # #    #      # #      # # # #                               # # #      # #    #    #    #    #  #    #  #  #  #  #      #  #   #   #   #   #    #    #     #      ##       ###                          ###       #     #    #    #  #   #  #  #  #    # #               #    #  #  #  #   #    #     ###               ##     ##   #   #  #    #           # #  #  #   #   #     ###           ##     ##   #        #    # # # # #    #  #  #   #   #    ##        ############          ###      ###      ###            ####          ##    #   #  #  #    # # #    #  #  #   ##      #######      ##   #  #  #  # # # # # #  #     #   #    #                     ##    #   #   #  #  #  # #    # # # # #    # #  #    #      #   #   #    #    ##      ###                              ###       ##     #     #    #    #   #   #   #  #   #  #  #           #  #  #    #    #    #    # #    # # #      # # # # # # # # # # # # # # #        # # #      # #    #    # #    #    #    #    #  #    #  #       #  #  #  #                    #  #  #  #  #   #  #  #   #  #      #      #   #  #   #   #   #  #   #   #   #   #   #   #  
  #   #  #  #      #  #  #  #  #              #  #  #  #  #    #  #  #    #  #    #    #    #    # #    #      # #    # # #        # # # # # # # # # # # # #        # # #    # #    # #  # #  #    #  #       #  #      #  #  #   #   #   #   #    #   ##    ##     ##      ###                               ###      #     #    #   #   #  #  #  #  #    # #             # #  #    #      #   #     #        #########       ##    #   #  #  #    #         #    #  #  #   ##    ##               ##    #    #  #  #    #         # #  #  #  #   #   #     ##                      ###      ##     ##     ##     ##         ##########       ##    #  #     #    # #    #        #    ###           ##    #   #  #  # #       # #  #  #  #   ##    ##               ##     #    #   #  #  #    #    # # # # #      #    #  #  #  #   #   #    #    ##     ##           ##############           ###      ##    ##    #    #    #   #   #   #  #   #  #  #  #  #  #  #  #    #  # #  # #    #    # #      # # # #                           # # # #      # #      # #    #    # #    #    #  # #  #    #  #    #  #  #  #       #  #  #  #  #  #         #  #  #      #  #      #  #   #  #   #   #  #   #   #      #   #   #   #   #   #   #   
#  #   #  #      #  #  #  #         #  #  #  #          #  #  #  #    #  #    #  # #  #    #    # #    #    # #      # #      # # # #                         # # # #      # #    # #    #    #  #    #  #  #        #  #  #      #   #   #   #   #    #     #     ##      ##           ###############          ##      #     #   #       #        #  #    # #           # #    #  #  #  #   #   ##     ##                 ##    ##   #           # #     # #    #  #  #   #    ##                 ##    #   #   #    #      #      #    #      #    #      ##                ###      ##     #    ##    #    ##     #       #####      ####      #   #   #  #    # # #    #  #  #   ##                 ##   #   #  # #           #  #  #  #    #      #############      #    #   #   #  #    #    # # # # # #    # #  #     #  #  #   #    #    #     ##         ####              #####         ##      #     ##    #   ##   #   #   #   #  #      #  #  #  #  #  #    #  #    #    # #    #      # # #        # # # # # # # # # # # #        # # #      # #    # #    #    # #  # #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #      #   #   #  #   #   #   #   #   #   #   #    
 #   #  #  #   #  #  #      #  #  #  #  #  #  #  #  #  #       #  #  #    #  #    #    #  # #  # #    #    # #    # #      # # #          # # # # # # # # # #        # # #      #      #    #    #  #    #  #  #  #  #  #  #      #   #   #   #   #    #    #     ##      ##        #####              #####        ##     ##   ##   #   #      #  #    #    #             # #  # #  #  #   #   #    #       #############      #    #   #  #  #    # #   # # #  #     #   #   ##                    ##   #   #     #  # # # # # #    #  #  #   #   ##      ###           ###       #     #    #    #   ##   #    #    ##     ###               ##    #   #        # # # #    #  #   #    ###         ##    ##        #  # # # #    #  #  #   #    #                     #    ##   #           #    # # # # # # #    #    #  #  #   #   #   #    #     ##      ####                       ####       ##      #     #    #    #   #   #   #   #  #      #  #  #  #       #  #    #    #    # #    # #      # # # #                       # # # #      # # #    # #    # #    #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #      #   #  #   #   #   #  #   #   #   #   #   #   #   ##   #
  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #    # #    # # #      # # # # #                 # # # # #      # #    # #    #    #    #  #    #  #  #  #  #  #   #  #   #       #   #   ##    #    ##     ##        ###                        ###       #     ##   #    #      #  #  #  #    # #             #    #        #   #   #     ##                   ##    #   #   #  #    # # # # # #    #  #   #   ##      ###########      #    #  #  #  #      #      #    #  #   #    #      ####        ####      ##    #    #   #   #   #   #   #    #   ##    ##          #          #    #        # #     #    #       #                 ##   #        # #     # #  #     #   #     ##               ##     #   #   #        #    # #       # # #    #  #  #  #  #   #   #    #    ##      ##                               ###       ##     #    ##   ##   #   #   #   #   #  #         #  #       #  #    #  # #    #    # #      # #          # # # # # # # # # #        # # #      # #      #    # #    #    #    #    #  #    #  #    #  #  #  #       #  #  #  #            #  #  #      #  #      #  #   #  #   #      #   #   #  #   #   #   #   #   #   #   #    #   # 
#      #      #  #      #  #  #  #         #  #  #          #  #  #  #    #  #    #  #    #    #    #    # #    #      # #      # # #          # # # # # # #            # #      # #    # #  # #  #    #  #    #  #  #  #  #   #  #   #  #   #    #   #    #     #     ##       ##                               ##      ##    ##   #   #   #           #    # #           # #    #  #  #  #   #    #      ###           ###     #    #  #     #  # # #   # #    #  #  #    #    ###           ###    ##   #  #  #  # #       # #           #    #      ###         ###       #    #    #   #      #      #      #   #   #    #      ##           ###    #   #     #           #  #   #    ##          ##     #  #     #           #        #   ##     ###        ###      #    #   #  #     #    #             # #  #    #  #  #   #   #   ##    #     ###         ##################          ##      ##    ##    #    #   ##   #      #   #  #  #              #  #    #  #    #    # #    # # #      # # # #                   # # # # #      # #      # #    # #    #    #    #    #  #    #  #    #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  #   #   #      #   #   #   #   #   #   #   #    #   #  
 #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #  #  #       #  #    #  #    #  #    #    #    #    # #    # #      # #        # # # # #             # # # # #      # # #    # #    #    #    #  #       #  #  #      #  #   #  #   #   #    #   ##    #     ##      ##           ###############          ##      #    ##   #   #   #  #  #  #    # #             # #    #  #  #   #   #    ##        ######        ##    #   #  #  #  # #       # #  #     #   #    #                 ##    #   #  #  #    # # # # #  #        #   ##     ###           ###      #    #   #   #  #   #  #  #  #  #  #      #   #   #    #        #####        #   #   #    # # # #    #  #   ##      #####       #   #        # # # # #    #  #   #    #       ########       ##    #   #  #     #  # #      #        #    #        #  #   #   #    ##    ##        ###                    ####        ##     ##    ##    #   ##   #   #   #  #   #  #  #           #  #  #    #    #    #    # #      # # #        # # # # # # # # #          # # #      # #    # #    # #    #    #    #  # #  #    #  #  #    #  #  #  #  #  #        #  #  #  #  #  #      #  #      #  #   #  #   #      #   #   #  #   #   #   #   #   #   #   #   #   ##   #   
      #      #  #   #  #  #   #  #  #  #  #  #  #     #  #  #  #  #  #    #  #  #    #  # #  #    #    #    # #    # #    # #      # # #            # # # # #            # # #      # #    #    #    #    #  #       #  #      #  #      #   #   #   #    #    #     ##     ##         ####                 ####       ##     ##   ##   #   #  #  #  #  #    #        #        #    #  #      #    #     ##                 ##    #    #  #  #  # #         # #  #  #   #   ##      ########       #    #  #     #    # # #    #    #   #   #     ##               ##     ##   #   #   #  #  #  #  #    #  #  #           #       #    ##               #    #   #  #           #  #  #    ##             #    #   #  # #           #  #  #   #    ##                  ##    ##   #  #     #  #      # # # # #    #    #  #  #  #   #   #    #    ##      ###                             ###      ##     ##    #    #    #   #   #   #      #  #  #        #  #  #    #  #    # #  # #    # # #      # # # #                   # # # #        # #      # #    #    # #    #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  #      #  #  #  #      #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   ##   #   #
#   #  #   #  #   #  #  #   #  #  #  #      #  #  #  #  #  #          #  #  #    #  #    #  #    #    #    # #    #    # #      # #        # # # # #             # # # # #      # # #    # #    #    #  # #  #  #              #  #  #   #   #   #   #   ##   ##    ##     ##       ###                          ###      ##     #   ##   #      #  #  #    #      # # # #      #           #   #    #      ###        ####     ##   #   #  #  # #           #        #   #     ##           ##     #   #   #    #           # #  #  #   #    ##                   ##    #    #  #   #  #       #    #    #    #    #  #  #  #   #   #     ###         ##     #  #     #       #        #     ###     ###     #   #  #  # #     # #        #   #    ##               ##     #    #  #        #    # #     # # #    #    #  #      #   #   ##    #      ##          ###############          ###      ##    ##    #    #   #    #  #   #   #  #  #  #     #  #  #  #    #    #    #    # #      # #          # # # # # # # # #          # # #      # #    # #    # #    #    #    #  #    #       #  #       #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #   #    #   # 
     #   #  #   #  #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #       #  #  #    #    #  #    #    #    # #    # #    # #      # # #            # # # # # #          # # #      # #    #    #    #    #  #  #           #  #  #   #  #   #   #    #    #    #     ##      ###            ##########           ###     ##    #    #   #  #        #  #      # # # # # #    #        #  #   #     #         #####        ##    #   #  #  #      # # #    #  #  #   #    #                  #    #   #  #  #             #  #  #  #    #       ##########      ##    #   #  #  #  #  # #    #      # #    # #    #    #  #  #   #   #      ##########     #   #  #  # # # #    #  #   ##                 #   #     #    # # #    #  #  #   ##     ##           ###     #    #      #  #    # #             #    #        #  #   #   #    #     ##       ####                   ####        ##     ##    ##    #    #   #   #   #  #   #  #  #        #  #  #    #  #    #    # #    # #      # # # #                       # # # #      # #      # #    #    # #    #    #  # #  #    #  #    #  #  #  #                          #  #  #  #      #  #   #  #      #      #   #  #   #   #   #   #   #   #   #   #   #   #   #   #    #   #  
   #  #   #  #   #  #   #  #      #  #  #  #                          #  #  #  #    #  #    #  #    #    #    # #  # #    # #      # #        # # # #                 # # # #        # #    # #    #    #    #  #  #              #  #      #   #   #   #    #    #     ##     ##         #####             #####        ##     #    #    #  #   #  #  #  # #    # #       # #    #        #  #    #     ##                 ##    #    #  #  #    # # # # #    #  #  #    #     ####     ###      #   #   #    #           #    #   #   #    ###            ###     #   #   #  #  #    #    # # #            # # # #    # #  #     #  #    #      ######       #   #  #    # # #    #   #   ##             ##   #   #  # #         #    #   #   ##     ####    #####      #    #   #  #  #  # #    # # # # #    # #  #  #  #  #   #   #   ##    ##      ##                             ###       ##     #    ##    #   #   #   #   #   #  #  #  #        #  #  #    #  # #    #    # #    # # #        # # # # # # # # # # #          # # #    # #      #    # #    #    #    #  #    #  #    #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #      #   #   #   #  #   #   #   #   #    #   #   #   #    #   #   
#   #   #  #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #  #  #       #  #  #    #    #  #    #    #    # #    #      # #      # #          # # # # # # # # #          # # #    # #    # #  # #  #    #  #              #  #  #   #   #   #   #   #    ##    #      #        ###                         ###      ##    ##   ##   #  #   #  #    #    #             # #  #        #   #   ##     ###           ###     #   #   #  #  # #         #    #  #   #    ##                #    #   #  #  #    # # #    #     #  #    ##                   ##    #   #  #  #  #      # # #       # # # # # # #   # # # #    #  #  #  #    #       ###       ##   #  #    # #    #  #  #    ###        ##     #  #     # #     # #  #  #  #    #       #########       #    #   #  #  #  #    # #       # # #    #  #  #  #   #  #    #    #      ##         ##################         ###      #     #    ##   #    #   #   #  #   #  #  #           #  #  #    #    #    #      # #      # # #                           # # #        # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #                    #  #  #  #      #  #      #  #   #  #   #      #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #   #
  #  #   #   #  #   #  #      #  #      #  #  #  #                       #  #  #  #    #  #    #  #    #    #    #    # #    # #    # #        # # # #                       # # #      # #      #    #    #    #  #  #              #  #   #  #   #   #    #   ##    #     ##      ##            ##########            ##     ##    #    #   #  #  #  #  #    #      # # #      #  #        #   #    #       ###########      ##   #   #  #  #    # # #    # #  #   #   #      ##########      #    #  #  #    # # # #    #  #  #   #     ###          ###     #   #           #                   # #    # #      # # # # #    #        #   #       ####       #   #  #    # #    #  #   #     #########     #   #  #    # # # #    #  #   #   ##         ##         ##    #   #   #  #    #        #        #    #  #  #      #   #    #     ##       ###                      ####       ##     ##    ##   ##   #   #   #   #   #  #  #              #  #  # #  #    #    # #      # #      # # # # # # # # # # # # # # #        # #      # #    # #    #    #    #    #  # #  #    #  #  #       #  #  #  #  #  #  #  #  #         #  #  #   #  #      #      #   #  #   #   #  #   #   #   #   #   #   #   #   #   ##   #   #   ##   #   ##
   #   #  #   #      #      #  #   #  #  #      #  #  #  #  #  #  #  #  #  #       #  #  #    #  #    #    #    #    #    # #    # #      # #          # # # # # # # # # # # #        # #      # #    #    #    #  #  #       #         #  #   #   #   #   #   ##    #    ##      ##        ####                ####        #     ##   ##   #   #  #  #  #    #    # # # # # #    #    #      #   #    ##                     #    #   #     #  # #     # #    #  #   #    ##               ##    #   #  #    #       # #  #  #   #   ##        ###        ##   ##  #     #  # #             # #  # #  # #  # #  # #    # # # # #    #  #  #   #      #######     ##  #  #  # # # #  #  #   #      #####      ##   #  #    # # # #    #  #   #    #                    #    #    #  #  #  #    # # # # # # #    #    #  #  #   #   #   ##    #      ##              ####              ###      ##     #    ##   #    #   #   #      #  #      #  #  #    #  #    #  # #  # #    # #      # #            # # # # # #          # # #      # #      # #    #    #    #    #    #  #    #  #    #  #  #  #                    #  #  #  #  #   #  #  #   #  #      #   #  #   #      #   #   #   #   #   #   #   #   #   #   #    #   #   #    #   #  
 #  #   #   #  #   #      #  #   #  #  #   #  #  #  #                       #  #  #  #    #  #  #    #    #    #    #    #    # #    # # #      # # #                             # # #      # #    # #  # #  # #  #  #    #  #  #  #      #  #   #   #   #    #   ##    ##     #       ###                           ###      ##    #    #   #   #  #  #    #  # #           # #    #  #  #   #   #     ##                 ##    #       #  # #    # #    # #  #   #   #     ####    ####     #    #  #  # #           #  #  #   #    ##              ##    #   #        #               #    #       #  #  #  #    #    # #       # #  #  #   #     ###   ####    #   #  # # # # #     #   #                #   #        # # # #    #      #    ##                  #     #   #        #  # #             # #    #  #  #   #  #    #    #     ##       #####               ####        ###     ##    ##   ##   #    #   #  #   #  #   #  #  #  #  #    #  #    #  # #    #      # #      # # # #                   # # # #        # #      #      #    # #  # #  #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #      #   #   #   #  #   #   #   #   ##   #   #   #   #    #   #    #   #   
  #   #      #   #  #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #  # #  # #  # #    #    # #      # #        # # # # #             # # # # #      # #      #    # #  #    #  #    #  #  #  #  #   #  #   #  #   ##   #   ##    #     #      ###          ################         ##     ##    #   #   #      #       # #    # # #      # #  #  #  #   #   ##     ##             ###    ##   #  #  #  # #       #    #  #   #    #                 ##   #   #  #    # # # # #  #  #  #   #      ###     ####     #   #   #  #    # # # # # #    #  #        #  #  #      #  #    #    # # # #    #  #  #    ##         ##    #     #       # #       #              ##   #     #    # #             #    ##                 ##    #   #   #  #  #    # # #   # # #    #    #  #  #   #   #    #    ##      ##                             ##       ##     #     #    #   #   #   #   #  #   #  #  #  #  #  #    #  #    #    #    # #    # # #        # # # # # # # # # # # #        # # #    # #      #    # #    #    #  # #  #    #  #    #  #  #  #                          #  #  #  #   #  #  #   #  #   #  #   #  #   #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #   #    
#  #   #   #   #  #   #  #   #  #   #  #  #   #  #  #  #         #  #  #  #       #  #  #  #    #  #    #  #    #    #    # #    #      # #    # # #          # # # # # # # # # #        # # #    # #    #    #    #       #  #  #  #  #  #   #  #   #   #   #   ##   ##    ##     ##       ####                     ###       ##    ##   #    #  #           #    # # # # # # #    #  #  #  #   #   ##     ###         ###     ##   #        #    # # #    #  #  #   #     ##          ##     #   #  #  #           #    #   #   ##        ##         #    #  #     #    # # #    # #  #  #  #      #   #   #      #  #  #  #    # # # #    #   #   #              #   #  #  # # #    #  #   ##             ##   #     #  # # # #    #      #    ##                ##     #   #      #    #      # # #      #    #  #  #   #  #    #    #     ##         ######       ######         ##      ##    ##    #    #   #   #   #  #   #  #  #  #  #  #  #  #    #    #    #    # #      # # #              # #              # # #      # #      #    # #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #    #   #   ##   #   ##   #    #
 #   #   #  #   #   #  #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #      #      # #      # # #                             # # #      # #    #    #    #    #  #  #  #  #  #  #  #   #  #   #   #    #   ##    #     ##      ##               ###              ##      #    ##   #   #  #        #  # #               #    #  #   #   #   ##      ###########       #   #   #  #  # #         #        #   ##      #######      ##   #     #  # #   # # #  #  #   #   ##                ##   #   #  #  #             #  #     #  #   #    #   #    #   #   #   #  #    # # # # #     #  ##     ######     #   #  #       #     #   #             ##   #        # # # #    #  #   #    ##                ##    ##   #  #  #  #    #           # #    #  #  #  #   #   #   ##    ##      ###                         ###       ##     ##    #    #    #   #   #  #   #  #              #  #  #    #    #    #      # #      # # # #                   # # # #        # #      #      #    #    #    #    #    #  #    #  #  #  #       #  #  #  #  #  #      #  #  #  #   #  #  #   #  #   #  #   #      #   #   #   #  #   #   #   #   ##   #   #   #   #    #   #    #   #    #    # 
  #   #   #   #      #   #  #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #       #  #  #    #  #    #    #  # #  # #    #      #      # #        # # # # #             # # # # #      # #    # #    #    #    #  #  #              #  #   #  #   #    #   #    ##    ##     ##        ####                ####       ##     #    #   #   #        #  #    # # # # # # #    #  #  #  #   #    ##       ########       #    #   #  #    # # # # #    #  #   #    #                #    #   #  #    # # # #    #      #    ##             ##    #   #  #  #      #      #  #  #  #   #    #    ##    ##    #    #   #        #         #     #   ##          #    #  #  # # # #  #  #   ##            ##   #   #    # # # #    #  #   #    ##                ##    #   #   #  #  #      # # # # #    # #  #  #  #  #   #   ##   ##     ##         #################          ##      #     #    ##   #   ##   #  #   #  #   #  #  #  #  #    #  #    #    #    # #    # #        # # # # # # # # # # # # #        # # #      #      #    # #    #    #  # #  #    #  #  #    #  #  #  #  #        #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #      #   #   #   #   #   #   #   #   ##   #   #   ##   #   ##   #    #   ##  
#   #   #      #   #   #  #   #  #   #  #   #  #  #   #  #  #  #  #                 #  #  #  #  #    #  #    #  #    #    #    # #    #    # #      # # #        # # # # # # # # # # #        # # #    # #    #    #    #  #    #  #  #  #      #  #   #   #   #   #    #    ##     #       ###                            ###     ##    #    #   #  #        #  # #             # #           #   #    ##                    ##    #  #     #    # # #    #     #   #    ###         ###    #   #     #           #     #   #    ##           ##    ##           # # # #    #     #  #    #    ##     ##       ##     #    #   #  #    # # # #    #   #       ##       #     #    #    #  #   ##             #    #  #  # #     # #  #  #  ##   ##                 ##    #   #   #  #    #      # #      # #  #        #  #   #    #     #       ###                        ###       ##     #     #    #   #   #   #   #      #  #  #  #  #  #  #    #    #    #    # #      # #          # # # # # # # #          # # #      # #    # #    #    #    #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #   ##   #   #    #   #    #    #   #    
 #   #   #   #   #      #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #    # #      # # #              # # #            # # #      # #    #    #    #    #  #  #  #  #  #  #   #  #   #   #   #    #    #    ##      ##        ######          #####        ##     #    #       #           #    # # # # # # #    #  #  #  #   ##    ##                   #    #   #  #  #      #      #  #  #   ##     ##########     ##   #  #  # #         #  #  #   #     ##         ##     #   #  #  # #       # #  #  #   #   ##     ##         ####        ##     #   #   #    # # # #  #  #   ##          #    #  #         #  #   ##              #   #     #         #    #   #    #                  ##    #   #        #  # #           # #  #    #  #   #   #   #    #     ###         ###############          ###     ##     #    #    #   #   #   #   #  #  #              #  #    #  # #    #    # #      # # #                           # # #        # #    # #    #    # #  # #  # #  #    #  #    #  #  #  #       #  #  #  #  #      #  #  #  #      #  #   #  #   #  #   #  #   #   #      #   #   #   #   #   #   #    #   #   #   ##   #   ##   #    #   #    #    #
   #   #   #      #   #   #  #   #      #      #  #      #  #  #      #  #  #  #  #  #  #       #  #  #    #  #    #  #    #    #    # #    # #    # #        # # # #                     # # # #      # #    #    #    #    #  #  #           #  #      #   #   #   ##   #     #     ##      ###                           ###      #    ##   #   #      #  #    #      # # #      #    #  #   #   #    ##                  ##    #   #  #  # #         #    #   #   ##                 ##   #   #    #       # #  #  #   #     ##         ##     #   #  #    # # # #    #  #   #   #      ###                       ###      #   #   #    # # # #  #   #    #######     #     #       #  #   #                #   #  #    # # #    #  #  #    ##                   #    #   #        #    # #     # # #    #  #  #  #   #   #   ##    ##      ###                        ###       ##     #     #    #   #   #   #   #  #   #  #  #  #  #       #  # #  # #  # #    # #        # # # #               # # # # #      # # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #        #  #  #  #  #  #   #  #  #   #  #      #      #   #      #   #   #   #   #   #   #   #   #   #   #    #   #    #   #    #   ##   #    #    # 
#   #   #   #   #   #   #  #   #      #   #  #      #  #      #  #  #  #                    #  #  #  #    #  #  #    #    #    #    #    # #    # #    # # #      # # # # # #       # # # # # #      # #      #    # #  #    #       #  #  #  #      #  #   #   #   #    #    #     #      ##         ######        #####         #     ##    #   #      #  #  #    # #           #    #  #  #  #   ##    ##                 ##    #   #  #  # #         #     #  #    ##               #    #        #       # #  #  #   #    ###         ##     #        #    #      #  #  #   ##    ###                   ##############      ##   #  #  #     # #  #   #             #   #  #       #  #  ##     ######      #        #       #    #   #   ##       ######       ##   #   #        #    # # # # # #    #  #        #   #   #    #     ##         #################          ##      #     #    #    #   #   #   #      #  #  #  #  #  #  #    #  #    #    # #    # # #      # # # # # # # # # # # # # #      # # #      # #    #    # #    #  # #  #    #  #    #  #       #  #  #  #  #  #  #  #  #  #      #  #  #   #  #  #   #  #   #   #  #   #   #  #   #   #   #   #   #   #   ##   #   #   #    #   #    #   ##   #    #    #   ##  
  #   #   #   #   #  #   #   #      #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  # #  #    #    # #    #    # #      # # #        # # # # # # # # # # #        # #      # #    #    #  #    #  #  #  #  #  #  #   #  #   #   #   ##   #     #     ##      ###                           ##      ##    #    #      #  #  #  # #    # # # # # #    #  #  #   #   #    ##                 ##    #   #  #  # #       # #  #  #   #    ##            ##    #        #         #     #  #     ##           ##    #   #  # #         #    #   #    ##                    ###        #############     #   #  #    #    #  #   ##         ##   #  #       #     #    ###     ##     #  #  #    # #    #  #  #   #      ###########      #    #  #        #    # # # # #    #    #  #  #   #   #   #     #      ###                          ###      ##     ##    #    #   #   #   #   #  #      #  #  #  #    #  #    #    #    # #    # # #        # # # # # # # # # #        # # #      # #    # #    #    #    #    #    #  #    #  #  #       #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #    #   #   #    #   ##   #    #    #   ##   ##   
   #   #   #   #   #   #   #      #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #  # #  # #    #    # #    # #      # # #          # # # # # # #          # #      # #    #    #    #  #       #  #  #      #  #   #   #   #    #    #    ##      ##        ######         #####        ##     #    #   #   #        #  # #      # #      #    #  #   #   #    ##                 ##    #   #  #  # #       # #  #  #   #    ###         ##     #        #         # #  #   #    #              ##   #   #  #           #     #   #     #####   #####      ##     ##      ##            ##    #  #  #     # #       ##      ##    #  #         #  #    #          ##    #  #  # #     # #  #  #   #     ###        ###     ##   #      #    #      # # #    # #  #        #   #   #    #     ##        #####         ######         ##     ##    ##    #   #   #   #   #   #  #  #  #  #  #  #  #    #  # #  # #    # #    # # #            # # # #            # # #      # #      #    # #    #    #    #  #    #  #    #  #  #  #          #            #  #  #  #      #  #   #  #      #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #   ##   #    #   ##   #    #    #    #
 #   #   #   #   #   #   #  #   #   #      #   #  #      #  #   #  #  #  #      #  #  #  #  #  #       #  #  #  #    #  #    #    #    #    #    # #    # # #      # # #                           # # #      # #    #    #    #    #  #  #  #  #  #  #   #  #   #   #   #    #    ##     #       ###                           ##      ##    #   #   #   #  #  #    # #           # #           #   #    ##                 ##    #   #  #  # #         #  #  #   #     ###      ###     #   #  #    # # #    #  #  #    #                ##   #     #  # # # #  #     #   ##                  #     #    #    #    ##                  #   #    # # #     #    ########    #  #  # # #        ##             ##   #  #    # # #    #  #   #    ##             ##     #   #   #  #    #               #    #  #  #      #    #    ##     ###                            ###      ##     #    ##   #    #   #  #   #      #  #  #  #  #    #  #    #    #      # #    # # # #                         # # # #      # #    # #    #    # #  # #  #    #    #  #       #  #  #  #  #           #  #  #  #  #      #  #      #  #   #  #   #   #  #   #   #   #   #      ##   #   #   #   #   #    #   #    #   #    #   ##   #    #    #    #    # 
  #   #    #   #      #   #   #   #      #   #  #   #  #   #  #  #   #  #  #  #                       #  #  #  #    #  #    #  #    #    #    # #    # #    # #      # # # #                       # # #      # #    # #    #    #  #       #  #  #      #  #   #   #   #   ##   ##    ##     ##        #####             ####        #     #    #   #   #  #  #  #    # #       # #    #        #   #    ##                  ##   #   #  #  #           #  #  #   #     ####   ####     #   #  #    # # # #    #  #    #      ######       #   #  #  # #   # #    #   #   ##              ##    #    #   #  #   #   ##    ##            #   #     # # #  #  #     ######    #     #     #  #  #     #######     #   #  #         # #  #   #    #                 #     #   #  #  #  # #             # #  #    #   #  #   #    #     ##       ###                 ####        ##     ##    #    #    #   #   #  #   #  #           #  #  #    #  # #    #    # #      # # # #                     # # # #      # #      # #    #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   ##   #   #    #   #    #   #    #    #    #   ##   ##    #  
#   #   #   #   #   #   #   #   #      #   #      #      #      #  #      #  #  #  #  #              #  #  #  #       #  #    #    #  # #  # #    #    # #    # # #      # # # #                 # # # #      # #      #    #    #    #  #  #  #  #  #  #  #   #   #   #   #    #    #     ##      ##                              ##     ##    #   #   #           #    # # # # # #    #        #   #    ##                   #    #        #    # #    #     #   #     ##########     #   #     #         #        #     ##        ##     #   #  #           #  #  #    ##            ##    #   #  #   #  #  #  #  #   #     ##        ##   #     # # #     #     #####     #  #    #    #  #    #         ##    #  #  # #     #    #   #   #        ####        ##   #   #     #  #               # #  #  #  #  #   #   #    ##     ##          ###########           ###     ##     #    #    #   #   #   #  #   #  #  #  #  #  #    #  #    #    # #    # #      # # # #                 # # # #        # #      #    # #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #   #  #   #   #      #   #   #   #   #   ##   #   #   #    #   #    #   #    #    #   ##   #    #    #    #    
 #    #   #   #   #   #   #   #  #   #   #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    #    # #      # #        # # # # #         # # # # #        # #    # #    #    #  #    #  #  #  #  #      #   #  #   ##   #    #    ##     ##       ####                  ####      ##     #   #   #   #  #  #  # #    # # # # #    #        #   #    #         ###        ##   #   #  #    # # # #    #      ##     #########      #   #  #    # # # #  #     #    #              ##   #   #  # #     # #  #  #    ##            ##   ##  #     #  #    #  #    #      #    ###      ##    #  #       #  #     ######    #   # #     #  #   #              #   #  #  # # # #    #  #   #      ###     ####     ##   #   #  #    #      # #      #    #  #  #      #    #    ##      ###                        ###       #     ##    #    #   #   #   #   #  #      #  #  #    #  #    #  # #  # #    # #        # # # # #           # # # # #      # # #    # #    # #    #    #    #  # #  #    #  #  #       #  #  #  #  #  #  #  #         #  #  #   #  #   #  #   #  #   #      #   #   #   #   #   #   #   #   #   #   #    #   #    #   #    #   #    #    #    #    #    #    #    #
   #   #   #   #    #   #  #   #   #   #   #  #   #   #  #   #  #      #  #  #   #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # #    # # #      # # # # # # # # # # # # # #      # #      #    #    #    #  #              #  #      #   #   #    #    #     #      ##           ############          ##     ##   ##   #  #   #  #    #      # # # #    #        #  ##   ##      #########      ##   #        # #     # #  #  #   #     ##### ####     ##  #     #         #     #   #      #######      #   #  #    # # #    #  #   ##              #    #  #  #  # #    # # #    # #  #  #  #    ##       ##         # #     #   #### ###    #     # # #  #  #    ##      ##    #   #    # # #    #  #   #    ##             ##     #   #  #  #  #      # # # #    #    #  #  #   #   #    #     ##       #####           #####         ##     ##    #    #    #   #   #  #   #  #  #        #  #  #    #    #    #      # #      # # # # # # # # # # # # # # #      # # #    # #    # #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #   ##   ##   ##   ##    #    # 
#    #   #   #   #   #   #   #   #   #   #      #   #  #   #      #  #   #  #  #      #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #    # # #        # # # # # # # # # # # #        # #    # #    #    #  #    #  #  #  #  #  #      #   #   #   #    #    ##    ##       ###                        ###      #    ##   #   #  #  #  #  # #    # # #      #    #      #    #      ####    ####     #    #  #  #           #     #  ##    ###     ###     #   #  #  # # # # #        #    ##           ##    #  #  #    # #    #  #   #      ####       #   #  #    # # # # # # # # # # # #    #  #    #          ##     #     #  #   ##      ##   #     # #        ##             #   #  #    # #    #     #   ##                  ##    #      #    #    # # # # #    #    #  #   #  #    #    #     ###             ###              ###      #     #    ##   #   #   #   #      #  #  #  #  #  #    #  #    #    # #    # #        # # # # # # # # # # # # #        # #      # #    # #  # #    #    #  #    #  #    #  #  #       #  #  #  #  #  #      #  #  #  #   #  #      #  #   #   #  #   #   #  #   #   #   #   #   #   #    #   #   #   ##   #   ##   #    #   #    #    #    #    #    #    #    ##  
  #   #    #   #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #    # # #        # # # # # # # # # # # #      # # #    # #    #    #  #    #  #  #  #  #      #   #  #   ##   #    #    ##     ##        #####            ####        ##    ##   #   #   #  #  #    #      # # #    #    #  #   #   #     ###          ###    #   #   #    # # # #    #  #   #    ###       ###    #   #  #    # # #    #   #   #        #        ##   #  #    # # #        #    ##       ##    #   #  # #       # #    # #    # # # # #    #   #             #     # # #  #  ##         ##   #         #  #    ###     ##    #   #    # # #    #  #   ##     ###     ####     #    #  #  #  #    # # # # # #    #    #      #   #   #     #      ###                       ###       ##     #    ##   #    #   #   #  #      #  #  #  #  #    #  #    #    # #    # #        # # # # # # # # # # # # #        # #      # #    # #  # #    #    #  #    #  #    #  #  #       #  #  #  #  #         #  #  #      #  #      #      #   #  #   #   #   #  #   #   #   #   #    #   #   #   #    #   #    #   #    #    #    #   ##   ##   ##    #    #    #    
    #   #   #   ##   #   #   #   #   #   #  #   #   #      #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #    # # #        # # # # # # # # # # #        # #      #    # #  #    #  #       #  #      #  #   #   #   #    #    #     #      ###              ##              ##     ##   ##   #  #   #  #    #      # # #      #  #  #  #   ##    ##              ##    #   #  #  #         #    #   #    ##          ##    #   #  #           #  #   #    ##          ##    #     #  # # # #  #  #   #              #   #     # # # # #    #  #  #  #  # #  # # # #  #  #   ##      ##   #  # # #     #            ##  #             #              #   #  #  # # #    #  #  #    ##               #     #   #  #  #    #           # #  #    #      #   #    #     ##       ####             ####        ##      #     #    #   #   #   #   #  #   #  #  #  #       #  # #  # #  # #    # # #      # # # # # # # # # # # # #        # #      # #    # #    #    #    #  #    #  #    #  #  #       #  #  #  #  #         #  #  #      #  #   #  #   #  #   #      #   #   #   #   #   #   #   #   #   #   #    #   #    #   #    #   ##   #    #    #    #    #    #    ##    #    #
 #   #    #   #   #   #    #   #   #   #  #   #   #   #  #   #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #    # # #        # # # # # # # # # # #        # #      #    #    #    #  #  #        #  #  #   #  #   #    #   ##    #     ##       ###                      ###      #     #   #   #           #      # # # #    #        #   #    #                  ##   #   #  #    # # # #  #     #    #             ##    #  #  #         #     #   #      ######      #   #  #  # # # # #  #  #    ###      ##    #     #       #    #   #  #   #      #    # # # #     #            #   # # # #  #   ###   ###   #  #       #  #   ##        ##    #  #  # # # #    #  #    #      #######       #    #   #  #    #      # #      #    #  #      #   ##   ##     ##          ###########           ##      #     #    #    #   #   #   #  #         #       #  #    #  # #    #    # # #      # # # # # # # # # # # # # #      # # #    # #    # #    #    #    #  #    #  #    #  #  #       #  #  #  #  #         #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #    #   #   #    #   ##   #    #    #   ##   ##   ##   ##    #    #    ##    # 
   #   #   ##   #   #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #  #   #  #  #      #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #    # # #        # # # # # # # # # # #        # #    # #    #    #    #  #  #  #  #  #  #      #   #   #   #    #     #      ##        #####          #####       ##     #    #   #  #     #  #    # # # # #    # #  #  #   #    #       #######       #    #  #  #           #  #  #   ##               ##   #  #  #         #  #  #    ##             #    #  #  #         #  #   #               #   #    # # #        #   #    #    #   #   #    # #    #   #         #   #       #   #          #   #    # #  #  #     ######     #   #  # #   # #        #    ##            ##     #   #        #    # # # # #    #    #  #      #    #    #      ###                          ##       #     ##    #   #    #   #  #   #  #              #  #    #  # #    #    # #        # # # # # #     # # # # # #        # #    # #    # #    #    #    #    #  #    #  #  #  #       #  #  #  #  #         #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   ##   #   #    #   #    #   ##   #    #    #    #    #    #    #    ##    #    ##  
#   #    #   #    #   #   #   #   #   #   #   #   #   #   #  #   #      #      #  #   #  #  #      #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #      # #        # # # # # # # # # # # #        # #      #    #    #    #  #  #  #  #  #  #   #  #   #   #    #    #     #      ##             ######            ##     #    #   #   #  #  #  #    # # # # # #    #     #  #   ##     ###        ###     #   #  #  # #     # #  #  #   #      #######     ##        #       # #  #   #    ###       ##     #  #  #  # # #    #  #   ##           #         # # #  #  #   #     ##      ##     #        # # #  #   ##     ##   #  # #    #    #######    #  # # # #  #   #             #   #  #         #  #  #   ##       ####        #    #  #     #  # #         # #    #  #  #      #    #    ##       ###                   ###        #     ##    #    #   #   #   #   #  #              #  #    #  # #  # #    # #      # # # # #             # # # # #      # #      # #    #    #    #    #    #  #    #  #  #       #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   #    #   ##   #    #   ##   #    #    #    #    ##    #    #    ##    #    
  #   #    #   #   ##   #   #   #   #   #   #   #   #   #   #  #   #      #   #  #      #  #  #   #  #  #  #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #    # #    # # #      # # # # # # # # # # # # # #      # #      #    #    #    #  #  #  #  #  #  #   #   #  ##   #   ##    #     #       ###                        ##      ##    #   #   #  #  #  #    # #       # #    #  #  #   ##    ##              ##    #   #  #    # # #    #  #   #    ##        ##    #   #  #         #        ##      #####      ##        #       #     #   ##        ##         # # #     #   #         #######        #   #  #     #  #   #######      #     #   #          #   #       #  #   #          ##   #  #    # #    #  #  ##    ##           ##     #   #        #    # # # #      #  #  #  #  #   #    #     ##       #####          #####        ##      #     #    #   #   #   #   #  #  #           #  #  # #  #    # #    # #      # # # #                 # # # #        # #    # #    #    # #  # #  #    #  #    #  #       #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #   #    #    #    #   ##   ##    #    #    #    ##    #    ##    #
   ##   #   ##   #   #    #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    # #    # #    # #        # # # # #           # # # #        # #    #    #    #    #  #  #  #  #  #      #   #   #   #    #    ##     ##       ####                ###       ##    #    #   #  #  #  #  # #             #        #  #    ##        ###        #    #  #  #           #  #  #    #             ##   #     #    #          #   #               ##   #  #  # # # # #  #  #    ###    ###    #  #       #  #   #                               #  #  # # #  #    ######   #  # # #  #   ##     ##   #  # # #         ##      ##    #  #  #     # #  #  #   #       ######       #    #        #  # #         # #  #    #      #   #    #     ##          ############          ###     ##    ##   ##   #   #   #   #  #  #           #  #  #    #    #      #      # # #                         # # #      # #      #    # #    #    #  # #  #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    #    #    #    ##    #    ##    #     # 
 #   #    #   #    #   #    #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #  #      #  #  #  #  #        #  #  #  #  #    #  #  #    #    #    #    #    # #    # # #      # # # #                 # # # #      # #    # #  # #  #    #  #  #  #  #  #   #  #   #   #   ##   ##    #      ##         ################        ##     #    #   #  #     #  #      # # #      #  #  #  #    #     ###       ###     #   #  #  #         #     #   #       ###       #   #  #  # # # #    #   #   ##            ##   #   #    # # #    #   #    ########    #     # # #     #      ###        ##     ###      ##    #  # # #  #   ### ###   #  # # #  #     ###     #  #       #  #     #######    #   #    # #    #  #  #    ##             ##    #   #   #    #    # # # #    # #  #  #  #   #   #    ##     ##                            ###      #     #    #    #   #   #   #  #         #       #  #    #    #    # #      # #                             # # #      # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #      #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #    #   ##   #    #    #    #    ##   ##    #    ##    #    ##    #   
  ##   #    #   #    #   #    #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #      #  #  #  #                    #  #  #  #    #  #    #  # #  # #  # #    #      # #      # # #                         # # #      #    # #    #  #    #  #  #  #  #  #   #  #   #   #    #    #    ##      ##                             ##     ##    #   #  #        #    # # # # # #    #  #  #   #    ##                #    #   #    #       # #  #   #    ##        ##    #   #  # #     # #  #   #    ##         ##    #     #    # #    #   #    ########    #     # # #  #   #          #    #    #   #      ####     #  #     #   #      ##     # # #   #          #   # #   # #   #     ####     ##  #  #       #        ##     ##########      #   #   #  #    #           # #  #        #   #   #    ##     ###                        ###      ##     #    #    #   #   #   #  #      #  #  #       #  # #  # #    #      # #          # # # # # # #          # # #      # #    #    # #  # #  # #  #    #  #    #  #  #  #  #           #  #  #  #  #      #  #      #  #   #      #   #      #   #   #   #   #   #   #   #    #   #   ##   #   ##   #    #   ##   ##   #    #    ##   ##    #    #     #    ##    #    ##    
#   #    #    #   #    #   #   ##   #   #   #   #   #   #   #   #   #   #  #   #      #      #  #   #  #  #  #      #  #  #  #  #  #       #  #  #    #  #    #    #    #    # #    # #      # # #            # # #            # # #    # #    #    #    #  #  #  #  #  #  #   #  #   #   #    #    #     ##      ###                        ##      ##    #   #   #  #  #    #             #    #  #   #   ##      ########      ##   #  #  # #       #  #  #   ##              #    #  #    # #    #  #  #     ##       ##     #  #  #    # #    #   #    ###   ###    #  # # # #  #   ##     ##    #      #  #  #   #     ###     #  # #     #         #  #   # #   #        ##     # # #     #              #   #    # # #    #  #    #                 ##   #   #  #  #    # # # # # #    #  #  #  #   #    #    ##      ###                    ###       ##     #    #    #   #   #   #  #   #  #  #  #  #    #  #    #    # #    # #        # # # # # # # # # # # #      # # #    # #    # #    #    #    #    #  #    #  #  #  #          #  #         #  #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   ##   #   ##   #    #    #   ##   ##   ##    #    #    #    ##    #    ##    ##    #     #
 ##   #    #    #   #    #   #    #   #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #       #  #  #    #    #  # #  # #    #    # #      # #          # # # # # # # # #        # #      #    # #  #    #  #  #     #  #  #      #   #   #    #    ##    ##       ###                    ###      #     #   #   #  #  #  #    # # # # #    # #  #   #   #    ##             ##    #        #       #    #   #     ####  ###     #   #  # #     #    #   #    ###     ###     #  #  #    # #    #  #    ##       ##   #  #            ##   ###   #     #    # #    #       #######   #       #    ####    #       #   #       #   #  # # #     #              #     #    #    #  #  #    ##            ##    #   #   #    #    # # #      #    #  #   #   #   #     #       ####               ####       ##     ##    #    #   #   #   #   #  #  #  #  #  #  #    #  # #  # #    # #      # # # # #             # # # #        # #    # #    # #  # #    #  #    #    #  #  #       #  #  #  #  #  #  #  #      #  #  #   #  #      #      #   #      #   #   #   #   #   #   #   #   #    #   #   ##   #   ##   #    #    #    #    #    #    #    #    ##    #    ##    #     #    ##    ## 
   #    #    #    #   #    #   #    #   #   #   #   ##   #   #  #   #   #   #   #  #   #  #   #  #   #  #  #   #  #  #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #      #      # #        # # # # # # # # # # # # #      # #    # #    #    #  #              #  #  #   #   #   #    #    ##     ##       #####             ####       #     #   #   #        #  # #           #    #  #   #    #       #####       ##   #  #  #         #  #  #   ##             #    #  #    # # #  #  #  #     ###    ###     #        # # # #  #  #   ##          #   #  # # #  #   #      ##   #    # # # #         #     #        #     #     #       #   # # #     ##     ##   #  # # #     #              #  #  #         #  #   #     ###########     #    #  #  #  # #           # #  #     #  #   #    #    ##        ####          #####        ##     ##    #    #    #   #  #   #  #           #  #  #    #    #    # #      # # #                         # # #      # #    # #    #    #    #    #  # #  #  #    #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #    #   #   #    #   ##   #    #    #    #    #    #    #    #    ##    #    ##    ##    #     #     #   
##   #    #    #    #   #    #   #    #   #   #    #   #   #   #   #   #  #   #   #      #   #  #   #  #  #   #  #  #  #                       #  #  #    #  #    #  #    #    # #    #      # #      # # # #                   # # #      # #    #    #    #       #  #  #  #   #  #   #   #   #    #    ##     ##         #######  #######        ##     #    #      #  #  # #    # # # # #    #  #      ##    ##            ##    #   #  #           #  #   #    ####  ####    ##  #  #         #  #  ##    ###     ###    #   #  # #     # #  #   #             ##  #    #     #         #   # #   # #  #  #    #     #      #####    # # #      ####    #  # #  #   #      #      #   # #   #              #  #  #       #     #   #                  #    #   #  #    # #       # #    #  #  #  #   #    #     ##        ################         ##      #    ##   ##   #   #   #  #      #  #  #       #  #    #    # #      # #        # # # # # # # #          # #      # #    # #    #    #    #  #    #  #    #  #  #  #                 #  #  #  #      #  #      #      #   #  #   #   #   #   #  #   #    #   #   #   #   ##   #   #    #   ##   #    #    #    #    #    #    #    ##    #    #     #    ##    ##    ##    ##    
  ##   #    #    #    #   #    #   ##   #   #   ##   #   #   #   #   #   #   #  #   #   #  #   #      #  #   #  #  #      #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #      # #    # # #                             # # #    # #    #    #    #  #  #  #  #  #      #   #   #   #    #    ##     ###          ###########         ##     #    #   #  #     #  # #           # #  #  #   #   ##       #####       #   #   #    # # #    #  #    #              #   #     #     # #  #  ##    ##       ###    #  #  #    #          #    ########    #  #       #    #####    #       #  #   #    #  #  # # #  #          #  #    #         #        #   #      ##   #       #  #     #####     #     #       #  #  #    #               #    #   #     #  # # #   # # #    #  #  #   #   #   ##    ##         ##############         ##      #     #    #   #   #   #      #  #  #  #  #  #    #  # #    #    # #        # # # # # # # # # # # # #      # # #    # #    # #  # #    #  #    #    #  #  #       #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #   #  #   #   #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    #    #    #    ##    #    ##    #     #    ##    ##    ##     #
    ##   ##   #    #    #   ##   #    #   #   #    #   #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #  #   #  #  #  #  #  #  #  #  #  #  #  #    #  #  # #  #    #    #    #      #      # #        # # # # # # # # # # #        # #    # #    #  # #  #  #           #  #   #  #   #    #    #    ##      ##              #             ##     ##   #   #   #  #  #    # # #   # #    #  #  #   #    ##             ##    #        # # # #    #   #    ##       ###    #  #  # # # # #  #  #    ##          ##    #  #  # #   # #     #   ##         ##   #          #         #  # # #  #   ##      ##    #  # # #  #         #        #       #  #     #  #         #  #  # #    #    ###  ###    #   # #       #  #  #    ##            ##    #   #  #  #    # # # # # #    #  #  #   #   #   ##    ##          ###########          ###     ##    #    #    #   #  #   #  #              #  #    #    #    # #      # # #                       # # #      # #    # #    # #  # #  #    #    #  #       #  #  #  #  #  #  #  #  #  #  #      #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #    #    #    #    #    #    ##    #    ##    #     #     #     #     #     #  
 ##   ##   ##   ##   #    #    #   #    #   #    #   #   #   #   #    #  #   #   #   #   #  #   #   #  #   #  #      #  #  #         #  #  #  #          #  #  #    #  #    #    #    #    # #      # #      # # # #               # # # #      # #    # #  # #  #       #  #  #  #   #  #   #   #   ##   ##    ##      ##                          ###     #    #   #      #    #    # # # #    #        #   ##     ##########     #   #     #       # #  #   #      ####       #        # # # #  #  #   ##             #       #    # # #  #     #      ###      #     # #     ##     ##  #   #  #    ##############    #  # #  #         #        ##    ##     #     #          #  #     #  #   #        ##   #  #         #  #  ##    ##        ###    ##   #  #  #    # # # # # #    #  #  #   #   #   ##     #          ##########           ##      #     #    #   #   #   #      #  #  #  #  #  #    #    #    # #    # #        # # # # # # # # #        # # #      # #    #    #    #    #    #  #    #  #  #       #  #  #  #  #         #  #  #   #  #      #      #   #  #   #   #   #   #   #   #   #   #   #   ##   #   #    #   ##   #    #    #    #    #    #    #    #    ##    #    ##    ##    #     #     #     ##    ##   
   ##   ##    #   ##   ##   #    #   ##   #   ##   #   #   ##   #   #   #   #   #   #  #   #   #      #   #  #      #  #      #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    # #    # #      # # #            # # #          # # #      #    #    #    #  #  #  #  #  #  #   #   #   #   #    #     #      ###                         ##     ##    #   #  #     #  # #           #    #  #   #    #                ##   #        # # #    #  #    #            ##   #  #  # # # #     #   #               ##      # #       #     #   ##         #   #  #   # #   ###  ##     #      #######     ##         #  #   #   #####   # # #   #    ##   # # #  #    ####    #  # # #  #  ##          ##        # # #  #  #  ##    #####  ####     #    #  #  #    # # # # # #    #  #  #   #  ##   ##    ##          ##########           ##     ##    ##   #    #   #      #  #      #       #  #    #    #    # #      # # # # #             # # # #        # #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #  #  #      #  #   #  #      #   #  #   #   #      #   #   #   #   #    #   #   #    #   #    #   #    #    #   ##   ##   ##    #    #    #    ##    #     #    ##    ##    #     ##    ##    ##     
#    ##    #    #    #    #   ##   #    #   #    #   #    #   #   #   #   #   #   #   #   #   #  #   #      #      #  #   #  #  #  #         #  #          #  #  #       #    #  #    #    # #    # #    # #        # # # # # # # # # # # #        # #    #    #    #  #    #  #  #      #  #   #   #    #    #    ##      ###                       ###     ##   #    #  #  #  #    #         # #  #     #   #     ##         ###    #   #    #       #  #  #    ##        ##    #  #  # # # # #  #   #     ########     #   #    #     # #  #   #     #####     #     # #  #   ######     #  #          #  #      ##       #  # #  #      ##        ##    ##  #     #  ##      #   #  # #     #     ###      #  #  # # # #        #      ########      #    #  #  #    # #   # # #    #  #  #  #   #    #     ##         ###########          ###     ##    #    #   #   #   #   #  #  #  #  #  #  #    #    #    # #    # # #          # # # #            # # #    # #      #    #    #    #    #  #    #  #  #       #  #  #  #  #      #  #  #  #   #  #      #   #  #   #      #   #   #   #   #   #   #   #    #   #   #    #   #    #    #   ##   #    #    ##   ##    #    #    ##    #     #    ##    ##    ##    ##    ##     #     ##
  ##    #    #    #    #    #    #   ##   #    #   #    #   #   #   #    #   #   #   #  #   #   #   #  #   #      #      #  #      #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    # #  # #    # #      # # #                         # # #    # #    #    #    #  #  #  #  #  #  #   #       #   #    #     ##      ##                       ###     #    #   #   #  #  #    # # #   # #    #  #   #   #      ########      #   #  #    # # #        #     ########     #  #  #       #     #    ##         ##    #  #  # #   # #     #   #            #   #       #   ##  ##   # #           #  # #      #  #           # #   ####   #   #  #       #  #   #  #          #          #    #       #    #  #         #  #   #      #######      #    #  #  #  # #         # #  #     #  #   #    #     #         #############         ###     ##    #    #   #   #   #  #   #  #  #  #       #    #    #    # #      # # # # # #     # # # # # #      # # #    # #    #    # #  #    #    #  #       #  #  #  #  #  #  #  #  #  #  #      #  #   #  #      #   #  #   #   #   #      #   #    #   #   #   #   ##   #   #    #    #   #    #    #    #    #    ##   ##    #    ##    #    ##    ##    ##    ##    ##     #     ##    ##  
    ##    #    #    #    #    #    #    #   ##   #    #   #   #    #   #   #   #   #   #   #   #   #  #   #      #      #  #   #  #  #         #  #  #  #  #       #  #  #    #  #    #    #    # #    #      # #        # # # # # # # # # # #        # #    #    #    #    #  #  #  #  #   #  #   #   #   #    ##    ##      ###                      ###     #    #   #   #  #  #    # # # # # #  #        #    #                ##   #     #         #  #   #               #   #  #         #  #   #               #   #  #  # # # # #  #  #    ###     ###   #  #     #   #     #          ##    # # #    #  # # #  ##    ##     #        #     #         #  # #     ##    ##   #       #  #            #   #  # # # #        ##     #######      ##   #  #  #  #             #    #  #   #  ##   #     ##        ###############         ##     ##    #    #   #   #   #  #              #  #  # #  # #    #      # #            # # #            # # #      # #    #    # #  # #  #    #       #  #       #  #  #  #  #  #  #      #  #  #   #  #      #      #   #      #   #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #    #    #    #    #    ##    #    ##    #    ##    ##    ##    ##    ##     #     ##     #    
 ##    #    #    ##   ##   ##   ##   ##   #    #   ##   #   ##   #   #   #    #   #   #   #      #   #   #      #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #    #  #  # #  #    #    #    # #    # #      # # #                       # # #      #    # #  # #  #  #              #  #   #   #    #   ##    ##      ###                      ###     ##   #       #  #  #    # # # # #    #  #  #   #    ##           ##    #   #  # #     #         #             #         # # #    #   #    ###   ####    #   #  # #     #    #   #      ####      #  #     #  #        #     #        # #  #   #    #        #   #      #       #     #   ####      # #  #                #    #    ##    ##    #  #         #  #   #     ########      #   #   #    #    # # #      #  #  #  #   #   ##    ##       #####        #####        ##     ##    #    #   #   #      #  #  #  #  #  #  #    #    #      # #      # # # #           # # # # #      # #      #    # #    #    #  #    #  #    #  #  #  #              #  #  #  #  #   #  #  #   #  #   #      #   #   #   #  #   #   #    #   #   #   #    #   #    #   #    #    #   ##   ##   ##   ##    #    #    ##    #     #    ##    ##    ##    ##    ##     #     ##     #     #
    #    #    ##    #    #    #    #    #    #   #    #   ##   #   #    #   #   #   #   #   #   #   #   #  #   #   #  #   #  #      #  #      #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # # #      # # # # # # # # # # # #      # #    # #    #    #  #  #  #  #  #  #   #  #   #    #    #    ##      ###                       ##     ##    #   #  #  #  #    # # # # #    #  #  #   #     ###      ###     #        # # # #  #  #   ##           ##   #  #         #  #   ##             #   #     #       #        ##             #   #       #    ####   # #  ##  #       #            #      ##    #     #      #  # #  #       #  # # #  ##       #     # #     #            #  #  #       #  #   #     #########     ##   #  #  #    # # # # # #  #    #      #    #    ##      ####             ####        ##    ##    #    #   #   #  #   #  #  #  #  #  #    #    #    #      # #          # # # # # #          # # #    # #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #    #   #    #   ##   #    #    #    #    #    ##    #    ##    #    ##    ##    #     ##    ##    ##     #     ##     ##     # 
##    #    ##    #    #    #    ##   ##   #    #    #   ##   #   ##   #   #   ##   #   #   #   #   #   #  #   #   #  #   #  #   #  #   #  #  #  #         #  #          #  #  #    #  #    #  # #  # #    #    # #      # # #                         # # #    # #    #    #    #  #  #  #  #  #   #  #   #    #    #    ##      ##                         ##     #    #   #  #  #  #    # # # # #    #  #  #    #      #######      #   #  #    # #    #  #    #          ##   #     # # #    #   #    #########     #  #  #    #      #       #           ##   #    #     #       #      ####  # #        #    #####   #         #   #       #  #      ####   #     #   ##  ###   #     #      #      ##    #  # # # # #  #   #    ###     ###     #       #    #           # #  #  #  #  #    #    #      ###                  ####      ##     #    #    #   #   #  #   #  #  #  #  #    #  #    #    # #      # # #                     # # #      # #      #    #    # #  #    #  #    #  #       #  #  #  #  #  #  #      #  #  #   #  #      #   #  #   #   #  #   #   #   #   #   #    #   #   #   ##   #    #   #    #    #    #    #    #    #    #    ##    #    ##    ##    #     #     #     ##    ##     #     ##     ##     ##  
  ##    ##    #    #    ##    #    #    #    #    #   #    #    #   #   ##   #   #   #   #   #   #   #   #   #   #  #   #   #  #      #  #   #  #  #  #  #  #  #  #  #  #  #  #    #  #  # #  #    #    #    # #    # # #      # # # # #       # # # # #      # #    # #    #  #    #  #  #  #      #      #    #   ##    ##     ##                          ###    ##   #   #   #    #  # # #   # #    #  #  #    #                 ##   #  #    # #    #  #    #          #    #  #         #  #   #              #   #  #  # # # #    #  #    ##         ##   #  # # #      ####   #   ##   #            #    #  #    #  #  #   #    #   ##      #  #        #  # #  #    ###    #  # #           ###     #  #  # # # #  #  #     ##         ##    #   #     #    # # # # #    #  #  #   #   #    #      ##                      ###      ##    ##    #   #   #   #      #  #  #  #  #    #  # #  # #    # #        # # # # # # # # # # #        # #      #    # #    #    #  # #  #    #  #  #  #                    #  #  #  #      #  #   #  #   #      #   #   #   #   #   #   #   #   #   #   ##   #   #    #    #   ##   #    #    #    #    ##    #    #    ##    ##    #     #     #     #     #     ##     #     ##     ##     ##    
#    #     #    #     #    #    #    ##   ##   #    #    #    #   #    #   #   ##   #   #   #   #   #   #   #   #      #   #  #   #  #   #  #  #   #  #  #  #  #  #  #  #  #  #       #  #    #    #  # #    #    # #      # #          # # # # # # #        # #      #    #    #       #  #  #      #      #    #   #     #      ##           ######           #     #    #   #  #  #    #         # #  #  #  #    ##               #    #  #    # #    #  #    #          #    #  # #     #     #    ##       ##    #  #  #         #  #  #    ##        ##   #          #         #   #         ###      #  #  # #   ##      ####      ##    #  # #  #      #        #          #        #  ##          #   #  # # # #  #  #    #             #    #   #  #  #             #    #  #   #   #   ##     ##                          ##      ##    #    #   #   #   #      #  #  #  #  #    #    #    #      # #            # # # #          # # #      # #    #    # #  #    #    #  #    #  #  #  #  #        #  #  #  #  #      #  #      #      #   #  #   #   #   #   #   #   #   #   #   ##   #   #    #   #    #    #    #   ##   ##    #    #    #     #    #     #    ##    ##    ##    ##     #     ##     #     ##     ##     ##     #
 ##    ##    #     #    #    ##    #    #    #    #    #    #   #    #   #    #   #   ##   #   #   #   #   #   #   #  #   #   #  #   #  #      #  #      #  #  #  #  #  #  #  #       #  #    #  #    #    #    # #    # #      # # #                     # # #      # #    #    #  #    #  #  #      #  #   #   #    #    ##     ##         #############        ##    #    #  #     #  #             #  #  #  #    ##              #    #  #    # # #  #  #   ##          #    #    # # # #  #   #      ####      #        # # # #    #   #    ##       ##    #  #     #  #       #  #  #  ## #          #####    #    ###  #  ####  # #        #   #  ##   ##  #     #          #  #   # #   ##       ##   #  # # # #     #   #                #       #  #    # #   # # #    #  #   #  #    #     ##        ############          ##     #     #   ##   #   #  #   #  #  #  #  #  #    #    #    # #      # # #                     # # #      # #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #    #   #    #   #    #   #    #    #    #    #    #    ##    #    #     #    ##    ##    #     #     ##    ##     #     ##     ##     ##     ##     ## 
    #     #    ##    #     #    #    ##   ##    #   ##   ##   #    #    #   #    #   #   #   ##   #   #   #   #   #  #   #   #  #   #      #  #   #  #  #      #  #  #  #  #  #       #  #  #    #    #  # #  # #    #      # #      # # # # #       # # # # #      # #    # #    #  #    #  #  #  #   #  #   #   #    #    #     ##       #####         ####       ##    #   #   #  #  #      # # #    #    #   #    ##             #    #  #  # # # #     #   #           ##   #    # # #    #   ##            ##   #  #    # #    #  #  #    ###       ##    #  # # # #   #      #      ##    ###  #     #   #                #    # # #      #  # #   ## ###  #     #          #  #   #  #   ##    ##    #  # #     #  #   #     ########     ##   #  #  #    # # # #    #    #      #   ##    #       ####            ####       ##     #    ##   #   #   #   #  #  #  #  #  #  #    #    #    # #      # # # # # #     # # # # # #      # #      #    # #    #    #  #    #  #       #  #  #  #  #  #  #  #  #      #  #      #  #   #  #   #   #      #   #   #   #   #   #    #   #   #    #   #    #    #   ##   #    #    ##   ##    #    #     #    ##    #     #     #     #     #     ##     #     ##     ##     #      ##     ##   
##    ##    ##    #     #    ##    #    #    #    #    #    #    #    #   #    #   #    #   #   #   ##   #   #   #  #   #   #   #  #   #  #   #  #   #  #  #  #      #  #  #  #       #  #  #    #  #    #    #    #    # #    # # #        # # # # # # # # #        # #    # #  # #  #    #  #  #  #      #   #   #   #    #     ##      ####                ###     ##    #   #        #  # #     # #    #  #   #    #             #    #  #  #     # #  #   #             #   #  # # # #     #   ##         ##   #     #         #  #   #    ##        ##         # #     #     ##          #    #  #    #           # ## #  #      #   ##   ##  # #   #   ##        #          #  #   #  #   #######    #  #         #   #    ##         ##    #   #  #  #             #    #  #   #   #    #      ##                     ###      ##    #    #    #   #      #  #        #  #  #    #    #      # #      # # # # # # # # # # #      # # #    # #    #    # #  #    #    #  #  #    #  #  #  #  #  #  #  #  #      #  #      #  #   #      #   #   #  #   #   #   #   #    #   #   #   ##   #   ##   #    #    #    #   ##    #    #    #    ##    #     #    ##    ##    ##    ##    ##     #     ##     ##     #      #      #      ##     
   #     #     #     #    ##    #    ##    #    #    #    #    #    #   ##   #    #   #    #   #   #   #   #    #  #   #   #   #   #  #   #  #   #  #      #  #  #         #  #          #  #  #    #  #    #    #    #      #      # # #          # # # #          # # #    #    # #  #    #  #  #  #  #   #  #   #   ##   ##    ##      ##                     ###     #    #   #  #  #  #             #        #    ##            ##   #   #         #     #               #  #  # #   #     #    ###    ###    #  #  #       # #  #   #    #          ##         # # #   #      #  #  ###  #     ##   #        #       #  #          #  ##  ##  # #  ##    ##  # # #    ####    #             #####    #     # # #     #   #               #    #        #           #    #  #  #   #    #     ##                           ##     ##    #    #   #   #   #  #      #  #    #  #    #    #      # #        # # # # # # #          # #      # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #      #  #      #  #   #      #   #   #      #   #   #   ##   #   #   #    #   #    #   #    #    #    #    #    #    #    ##    #    ##    #     #     #     #     #     #     ##     #      #     ##     ##     ##      ##     ##
#    ##    ##    ##    ##    #     #    #    ##    #    #    #    #    #   ##   #    #   #    #   #   #   #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #                       #  #  #    #  #    #    #    # #    # #      # # #                     # # #      #    # #  #    #  #  #  #  #  #   #   #   #   ##    #      ##                          ##    ##   #   #  #  #    # # # # #    #  #  #    ##             ##   #  #  # # # #  #  #     #######    #   #       #     #     #######    #   #  #       # #  #   #   ##            #    #  # # # #  #        #   #             #   # # #                # ##  #  #  #    #  # #          #        #     ##     # #  #    ######    #  #       #     #     #### ####     ##   #  #    #         # #  #  #  #  #    #    ##       #####       #####        ##     #    ##   #   #   #      #  #  #  #  #    #    #    #      # #              #            # # #      # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #      #  #      #  #   #      #   #   #      #   #   #   ##   #   #   #    #   #    #   ##   #    #    #    #    #    ##    #    #     #    ##    #     #     #     ##    ##     #     ##     ##     ##     ##     ##      ##     ##  
  #     ##    ##    ##    #     #    ##    #    ##   ##    #    #    #    #   #    #    #   #    #   #   #   #   #   #   #   #   #   #   #  #   #  #   #  #   #  #  #  #         #  #          #  #  #    #  #    #    #    # #    # #      # # # #                 # # #      # #    #    #  #  #        #  #  #   #   #    #    #     ##        ###############       ##    #   #   #  #  # #    # #    # #  #   #   ##              #    #  #         #  #    ##       ##   #  #    #    #   #     #####     #   #  #         #  #  #    #               #   #  #             #    # #  ##  #    ##          #         # #   #  #  #  #        #  #      ##    #     #         #  #   #      #######    #  # # # #     #   #             ##    #  #  #  # #       # #    #  #   #   #    #      ##                    ###      ##    ##   ##   #   #   #  #  #        #  #  #    #    # #      # #                         # # #      # #    #    #    #    #    #  #       #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #   #   #  #   #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    #    ##    #    ##    #    ##    ##    ##    ##    ##     #     ##     ##     #      #      ##     ##     ##      ##    
    ##     #     #     #     #    ##    ##    #    #    ##    #    #    #   ##   #    #    #   #    #   #   #   #    #   #   #  #   #   #   #  #   #      #  #   #  #  #         #  #  #  #       #  #  #    #  #    #    #    # #    # #      # # # #             # # # #      # #    #    #  #    #  #  #      #      #    #    #    ##       ###               ###      ##   ##   #  #  #    #       # #    #   #   #                #         # # #    #   #            #   #  # # # #  #  #      ####     ##  #  #         #     #   #        ##        #   #    # #  #  ##    #          #    # ##   #      # ##      #   # #    #           #      #     #  #   #   #####      # #  #   #     ##    #    # #    #   #    #########      #   #  #    #         # #  #  #  #   #   #     ##          #######           ##     ##    #    #   #   #  #   #  #  #  #  #    #    #    # #    # # #                       # # #      # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #  #   #   #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    ##   ##    #    ##    #     #    ##    ##     #     #     ##     #     ##     ##     ##     ##      #      ##      ##      
 #     ##    ##     #     #     #    ##    #     #    #    ##    #    #    #    #   ##   #    #   #    #   #   #    #   #   #   #   #  #   #   #   #  #   #  #      #  #      #  #  #  #  #  #  #       #  #    #  #    #    #    # #    # #      # # # # #         # # # #      # #    # #  #    #  #  #  #  #  #   #   #   #   ##    #      ##                       ##     ##   #   #  #  #    # # # # #  #     #   #      ######     ##  #  #         #   #    ######     #  #         #   #     ####      #   #    # # #    #  #   #      ##########     #  #  #     #  #         # #           # ##           #  #    #    #   #       #  ##      #    #    #     #         #    #     #         #   #    #    #  #   #              ##   #   #    #           #    #  #   #   #    #      ###                ###       ##    ##   ##   #   #   #  #  #        #  #  #    #    # #      # #                       # # #      # #    # #    #    #  #    #  #    #  #  #  #           #  #  #  #  #   #  #      #      #   #      #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #    #    #    ##   ##    #    ##    #     #     #     #     #     ##    ##     ##     #      #      #      ##     ##      ##      ##     ###
   ##     ##    ##    ##     #    ##    ##    #     #    #    ##    #    #    #    #   ##   #    #   #    #   #   ##   #   #   #   #   #   #  #   #   #  #   #  #   #  #  #   #  #  #  #  #  #  #  #  #       #  #    #    #    #    # #    # #      # # # # #       # # # # #      # #    #    #  #    #  #  #   #  #   #   #   #    ##     #         #############       ##    ##   #  #  #  #      # #    #     #  ##    ###    ###     #     #       #  #   ##        ##   #  # #   #     #     ######     #  #  # #     #        #     ##           ##    #  #  # # #     #      #  # #   #           #   #      #   #  #  # #        #       #     #       #  #     #    ##     #     #           #  #    #    #  #    ###       ##     #        #    # # #    #    #   #  #    #     ##                          ##     ##    #    #   #   #      #  #  #  #  #    #  # #    #      # #                         # # #    # #    # #    #    #    #  #    #  #  #          #  #         #  #  #      #  #   #  #   #      #   #   #   #   #   #   #   #   ##   #   #    #   ##   #    #    #    #    #    #    ##    #    ##    #     #     #     #     ##    ##     #     ##     ##     ##     ##     ##      ##     ##      ##      ##   
#     ##     #     ##    ##    ##    ##    ##    #     #    #    ##    #    #    #    #    #   ##   #    #   #   ##   #   #   #   #   #   #   #   #  #   #   #  #   #  #  #   #  #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #        # # # #         # # # # #    # #    # #  #    #  #  #  #  #  #   #   #   #    #    ##      ###                 ###     ##   #   #        #           #    #   #    ##          ##   #     #     #     #              #  #  # # #     #    ###  ###    #   #    # #    #  #  #    ##                #    #  #    #    #   ##  ##      ### # #    ####  ## #    ##      # # #    # #  #     #  # #  #     #      #    ###   #  # #  #   #######         # #    #   #      #####      #   #        # # # # # #  #        #   #    ##      ###              ###       ##     #    #   #   #   #      #  #  #  #    #    #    #      # #                           # #      # #    #    # #  #    #    #  #  #    #  #  #  #  #  #  #  #   #  #  #      #  #   #   #  #   #   #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    #    ##    #    ##    #     #     #     #     ##    ##     ##     #     ##     ##     ##      ##     ##      ##      ##      ##     
  ##     ##     #     ##    ##     #     #    ##    ##    #    ##    #    #    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #   #   #   #  #   #      #  #   #  #  #  #                    #  #  #    #  #    #    #    # #    # #      # # # #             # # # #    # #    #    #    #  #  #  #  #   #   #   #   #    ##     ##                         ##     #   #   #  #    #         # #  #  #    #              ##   #  # #   # #  #    #        #         # #     #   ##       ##   #     #       #  #  #   ##      ########      ##   #  #              #####   #  # #     #   # # #                   #      #  ##  ##         #   ##  # #           #  #   #  ##        ##  #  # # #    #   ##             ##   #   #    #           #        #  #    #     ##                          ##     ##    #    #   #   #  #      #       #  #    #    #    # # #        # # # # # #          # #      #      #    #    #    #  #       #  #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #    #   #   #    #   #    #    #   ##   ##   ##    #    #    ##    #    ##    #     #     #     #     ##    ##     ##     #      #      #      ##     ##      ##     ##      ##      ###      #
     ##     ##     #     ##    ##     #     #     #    ##    #    ##    #    #    ##   ##   ##   #    #    #   #    #   #   #    #   #   #   #   #   #  #   #   #  #   #  #   #  #  #      #  #  #  #  #  #  #       #  #    #  # #  # #    #    # #      # # #                   # # #    # #    #    #  #       #      #      #    #   ##    ##       ###            ####      #    #   #     #  #           #  #  #   #     #######      #  #  # #   #     #      ##      #  #    #    #   ##          ##   #    # # # #  #  #   #    ###           ###    #   #  #              ##   #      ###   #    #    ##   #        ##       # #   #####         ##  ##  # #  #        #       #    #####    #  #       #  #    ##          #    #   #  #    # # # # #  #    #   #   #    #      ###                ###       #     #    #   #   #   #  #           #  #    #    #    # #        # # # # # # # # #        # #      #    # #  # #  # #  #    #  #  #          #  #         #  #  #  #   #  #   #  #   #  #   #   #   #   #   #   #   #   #   ##   #   #    #    #   ##   #    #    #    ##    #    #    ##    #     #     #     #     #     ##    ##     ##     #      #      #      ##     ##      ##      ##      ##      ##      ### 
 ##     ##     ##     #     ##     #     #     #     #     #    ##    #    ##   ##    #    #    #    #   ##   #    #   #    #   #   #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #     #  #  #  #  #    #  #    #    #    #    # #      # # #                     # # #      #    #    #  #        #  #  #   #   #    #    #      ##                       ##     #   #   #  #  # #         #    #   #    ##         ##       # #     #  #   #          #   #    #    #  #              #   #    # # #        #    #                   ##    #     #    #    #   #        #  #  ##         #   #    #     # # #   #   #   #####         #    #  # # #        #      #  #          #  #  # # #  #  #    ##       ##     #        #           # #  #  #   #   #     #         ###########         ##     #    #    #   #   #  #  #        #  #  # #  # #    # #      # # # # # # # # # # # #      # #      #    #    #    #    #  #       #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #  #   #   #   #   #   ##   #   #   ##   #   ##   #    #    #    #    #    #    ##    #    ##    #    ##    ##    ##     #     #     ##     ##     #      #      ##     ##      #      ##      ##      ##      ###      ##    
    ##     ##     ##     #     ##     #     ##    ##    ##    #     #    #     #    #    #    #    #    #    #    #   #    #   #   #    #   #   #   #   #   #  #   #   #  #   #  #   #  #  #      #  #  #  #  #  #       #  #    #  #    #    #    # #      # #          # # # # #        # # #    #    #    #  #  #  #  #  #   #   #   #    #    ##       ####           ###      ##   ##  #   #    #           #  #  #   #               ##  #  #       #  #    ###  ###         # #         ##     ##    #  #  # # #    #  #   ##     ####      ####      #    #  #    # # #         #         #        #        ##   ##      ###  # #   ##  ##   # #  #      #     #           # # #   ##     ##   #         #   #    ####  ###     #   #  #  # #       # #  #  #  #   #   ##     ##                      ##      #     #   ##   #      #  #           #  #    #    # #    # # #                   # # # #      #      #    #    #    #  #    #  #  #          #         #  #  #  #   #  #   #  #   #  #   #   #   #   #   #   #   #   #   ##   #   ##   #    #   ##   #    #    ##   ##    #    ##    #    ##    ##    ##    ##    ##     #     ##     ##     #      #      ##     ##      ##     ##      ##      ###      ##      ###      
##     ##     ##     ##     ##     #     ##    ##    ##    ##    ##    #     #    #    ##    #    #    #    #   ##   #    #   #    #   #   #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #  #  #  #    #  # #  #    #    # #    # # #      # # # # # # # # # #      # #    # #  #    #  #  #  #  #  #   #   #   ##    #     ##                        ##     #   #        #    # # #    #  #   #    ##       ##    #  #  # # #  #  #             #     # # #  #  ##           #   #    # # #    #   #    ##                   ##    #   #     #       # #  #  #   ##     #       ### # #    ##    #     #   #  ##      #      #        #   #   ###    # # #      #####    #  #     #     #    #########     #   #  #    # # # # #    #  #   #   #    #      ###             ####       #     #    #    #  #   #      #  #       #  # #  # #    # # #        # # # # #          # #      # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #      #  #      #      #   #      #   #   #   #   #   #    #   #   #    #   ##   #    #    #    #    #    #    ##    #    ##    #     #     #     #     ##    ##     ##     #     ##     ##      ##     ##      ##     ##       ##      ##      ##       ##       ##
   ##     ##      #      #     ##     ##    ##     #     #     #     #    ##    #     #    #    #    ##   ##   #    #    #   #    #   #    #   #   #   #   #   #   #   #  #   #      #      #  #      #  #  #  #  #  #  #       #  #    #  #    #    # #    # #      # # # #             # # #      # #    #    #  #  #  #  #  #      #   ##   #     #       ###              ###      #    #  #     #  # # # # #    #  #   ##              #   #  # #   #     #           #   #       #  #    #######    #     #     #     #   #      #####   ######       ##   #   #  #  # # # # #      #        #   #          #  #  #  # #   #   #   #         #  # #  #    #  # #  ##   ##  #     #            #  #     #     #    #########     #   #  #    # # # #    #     #  #   #     #        ############         ##     #    #   ##   #  #   #  #  #  #  #    #    #    # #      # # # # # # # # # # # #      # #    # #    #    #    #    #  #  #       #  #  #  #  #  #      #  #  #   #  #   #  #   #   #   #  #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    ##    #    ##    #    ##    ##    ##    ##     #     ##     #     ##     ##     ##      #      ##      ##      ##      ##      ##      ###      ##       ###  
#     ##      ##     ##     ##     #     ##     #     ##    ##    ##    ##    ##    #    ##    #    #    #    #    #    #   ##   #    #   #   #    #   #   #   #   #   #  #   #   #  #   #  #      #  #  #                    #  #  #    #  #    #    # #    #      # #                         # # #    # #  #    #  #        #  #   #  ##   #    #     ##         #########        ##    #   #        #         # #  #   #    ##        #    #  #    #    #   ##        #   #  # # #  #  ##          ##     #       #     #    #                     ##      #    #  #  #    # # #        #   ### # ## # #              ##      #  ##     #####    # # #        # # #        #  # #  #           #  #       #   #    ###   ###     #   #  #    # # # #    #  #  #   #   #     ##                        ##     ##    #    #   #  #   #  #  #  #  #  #    #    # #    # # #                       # #      # #    #    # #  #    #       #  #  #                 #  #  #  #   #  #      #   #  #   #   #   #   #   #   #   #   #   ##   #   #    #    #   ##   ##   ##   ##    #    #     #    ##    #     #     #     #     ##     #     ##     ##     ##     ##     ##      ##      #      ##       ##      ##       ##      ###       ##     
  ##      ##     ##     ##     ##     ##     ##    ##     #     ##    ##    #     #    ##    #    ##    #    #    #    #    #   #    #   #    #   #   #    #   #   #   #  #   #   #      #      #  #   #  #  #  #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # # # # # # # # # # #      # #    #    #  #    #  #      #   #   #   #    ##     ###                    ##     #   #   #  #    # # # #    #  #   #      ####      #     #     #  #   ##      ##   #              ##     ##         # # #    #   #     ###          ####        ##     #   #  #  #  # #    #  #   ####   #  # ## # ### # # #    #          ####         #  #   #      #      #   ##  #     #           #  #       #  #    ##       ##     #  #  #    # # # #    #  #  #   #   ##     ##                    ##      ##    #    #   #   #  #      #  #    #  #    #    # #      # # # # # # # # # # #        # #    # #    #    #  # #  #       #  #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    #    ##    #    ##    ##    ##    ##    ##     #     ##     #     ##     ##      #      ##      #      ##      ##       ##      ##       ##       ##       ##       #
     ##      ##     ##      ##     ##     #      #     ##    ##     #     #     #     #    ##    #    #    ##    #    #    #   ##   #    #   #    #   #   #   #    #   #  #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #      # #                     # # #    # #    #    #  #  #  #  #   #  #    #   #     #       ###            ####     ##   #   #  #  # #         #  #  #   ##           ##   #  # # # #  #   ##     ##   #  #     #  #      #       #  #    #    #  #   #        #####            ###      ##    #      #    #  #  #          #  #      # # #   #   #   #  #   #                 #  #  #    #  # #         #                  #  # # # #  #   ##           ##   #   #    # #     # #  #  #  #   #    #      ##                ###      ##    ##   #   #   #   #  #  #  #  #  #    #    #      # #                         # #      # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #      #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    #    ##    #     #    ##    ##    ##    ##     #     ##     ##     ##     ##     ##      #      ##      ##      ##      ##       ##       ##       ##       ##        ## 
 ##      ##     ##      ##     ##     ##     ##     ##     #     ##     #     #     #    ##    #     #    #    ##    #    #    #   ##   #    #   #    #   #   #   #    #      #   #   #   #  #   #  #   #  #  #   #  #  #  #  #  #  #  #    #  #    #  #    #    # #    # #        # # # # # # # # # #      # #    #    #  #  #     #  #      #   ##   ##    ##        ###########        #    #   #     #  # # # # #    #   #    ##       ##   #     # #    #   ###    ##   #  #   #     #           #     #       #  #    #                   ###        ##      #    #  #  #  #  #    ###   # #  # ##  #    ##   ##   ##         #    ###        #      #    #  #          #     #   ######              #   #               #   #  #  #           #        #   #    #      ###            ####      ##     #    #   #   #  #   #  #  #  #    #    #    # #    # # # # #       # # # # #      # #    # #    #    #  #    #  #    #  #  #  #  #  #  #  #      #  #  #   #  #   #      #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    #     #    #     #    ##    ##    ##     #     ##     #     ##     ##     ##      #      ##      ##      ##      ##      ##       ##      ###       ##       ##        ##    
    ##      ##      ##      ##     ##     ##     ##     ##     #     ##    ##     #     #    ##    #     #    #    ##    #    #    #   ##   #    #   #    #   #   #   ##   #   #  #   #   #   #  #   #  #   #  #  #      #  #  #  #  #  #       #  #    #    #    #    # #    # # #                       # #      #    #    #  #  #  #      #   #   #    ##     ##                      ##    ##   #  #  #    # # #    #  #   #     ######     #  #  # #    #   ##      #   #  # # #     ##        #   #  #     #     #   ##             ###        ###        ##    ##   #  #  #   #      #   #    #       ### ###   #  #       #   #         #####      #    #  #         #        #      ##   # #   # #   #    #########    #   #  #    # # # #    #  #  #   #    ##      ####         ####       ##    ##   ##   #   #  #              #  #    # #    # #        # # # # # # #        # #      #    # #  # #  #    #  #    #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #   ##   #    #    #    #    #    #    #    ##    #     #    ##    ##     #     #     ##     #      #     ##      #      ##     ##      ##      ##      ##       ##      ###      ###      ###       ##        ##       
##      ##      ##      ##     ##      ##     ##     ##     ##     #     ##    ##     #     #    ##    ##    #    #    ##    #    #    #    #   #    #   ##   #   #   ##   #   #   #   #  #   #   #  #   #  #   #  #  #   #  #  #  #  #  #  #    #  #  #    #    #    #      #      # # # #           # # # #      #    #    #  #        #  #   #  #    #    #      ##                   ##     #   #   #  # #    #      #  #   #              ##  #  # # #  #   #       ##   # #   #      ##     ##   #  #     # #   #   ##           ##       ##        ###        #    #   #  #   ##  ##     ####  #        #  #   #    # #       #  #   ##          # #      #   #      #  # #  #          #  # # # #  #   #            #    #  #  #           #        #   #    #       ####       #####       ##    ##   #    #  #   #  #        #  #    #    #    # # #                       # # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #   #   #    #   #    #    #   ##   ##   ##    #    #    ##    #     #    ##    ##     #     #     ##     ##     #      #      ##     ##      ##     ##      ##       ##      ##       ##       ##       ###       ##        ##        ##
   ##      ###      ##      ##     ##      ##     ##     ##     ##     #     ##    ##     #     #     #    ##    #    ##    #    #    #    #    #    #   #    #   #   ##   #   #   #   #   #   #  #   #   #  #      #  #      #  #  #  #  #  #  #    #  #  #    #    #    # #    # #        # # # # # # # #        # #    #    #  #  #  #  #  #   #   #   ##    #      ###               ##     ##   #        #         # #  #   ##            #   #  # # #     #         ##  #       #    ##   ###   #  #       #  #    ##         ###     ##      ###           ##     ##  #   #   ####              # # # #  ###   ##  # ###   ##  #  ###                ####  # #          # #   ##    ##     #   # #   #    #######     #   #  #  # #   # # #  #  #  #   #    #       ####       #####       ##    ##   #    #      #  #     #  #  #    #    # #    # # #                 # # #      # #    #    # #  #    #  #    #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #   #      #   #   #   #   ##   #   #   ##   #    #   ##   #    #    #    ##    #    ##    #    ##    ##    ##    ##     #     ##     #      #      #      ##     ##      ##      ##      ##      ##       ##      ###       ##       ##        ##        ##        ###  
       ##      ##      ###     ##      ##      ##     ##     ##     ##     #     ##     #     #     #     #     #    ##    #    #    #    ##   #    #    #   ##   #   ##   #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #       #  #    #    #    # #    # # #          # # #          # #    #    #    #  #  #  #      #   #    #    ##      ###            ###     #    #        #           #       #           ##     #     #  #                 # #  #   ###   ##    #    # #     #   #           ##     ##    ##       ######          #   #      ##  #  #  ##          #  ########            #    #  ##   #     ####  #      # #  ####   # #  #          #          #   ##            #       #    # # # #    #  #  #   #    #      ####          ####       #     #    #   #   #  #           #  #    #    # #    # # # #           # # # #      # #    # #  # #  #    #    #  #  #  #              #  #  #  #   #  #   #  #   #  #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    ##    #    ##    ##    #     #     ##    ##     ##     #     ##      #      ##     ##      ##      ##      ##      ##       ##       ##       ##       ###       ###       ###        ###     
  ##       ##      ##      ###      #      ##      ##     ##     ##     ##     ##     #     ##    ##    ##    ##    #     #    #    ##    #    #    #    #   #    #   ##   #   #   #    #   #   #  #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #    #    # #      # #                     # #      #    #    #  #  #  #      #   #    #    ##      ####         ###      ##   #   #  # #    #      #  #    #           #   #    #    #    ######            #   ##     ##   #  #     #  #   #             #    ##   ##    ##                   ##   #  #   #    # #    #    #   #    ####### #    #      #   # ####   # # #     # #    #   #     #  # #  #        #   # # # #  #    ##       ##    #  #  #  # # # #    #     #   #   ##     ###              ###      ##    ##   #   #   #  #   #  #       #    #    # #    # # # # # # # # # # # #      # #    # #    #    #  #    #  #       #  #  #  #  #      #  #  #   #  #   #  #   #   #   #  #   #   ##   #   #   #    #   #    #    #   ##   ##   ##    #    #    ##    #     #     #     #     #     ##     #     ##     ##     ##      #      ##      ##      ##      ##      ###      ##       ##       ###       ##        ##        ###        ##         
      ##       ##      ##       ##      ##      #      ##      #      #      #     ##     ##    ##     #     #     #     #    ##    #    #    #    ##   #    #    #   ##   #   ##   #   #   #   #   #   #   #  #   #   #  #      #  #  #      #  #  #       #  #  #    #    #    #    # #      # # #               # # #      #    #    #  #  #  #      #   #    #    ##      ####        ####     ##   #   #  #    # # #    #  #   ##          ##     #   # #   #        #     # #     ##       #   #  # # #  #  #     #####      #   #   ##   #      ############    ###   #  #  #           #  ##   # ## ########  # ##     #  #          #   #       # #    # #  ####        ##       #  #  # #  #  #     ######     #   #  #  # # # # #    #  #   #   ##     ##                  ###     ##    #    #   #  #   #  #  #  #    #  # #  # #      # # # # # # # # # # # #      # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    ##    #    ##    ##    ##    ##    ##     #     ##     ##     ##     ##     ##      ##      ##      ##      ##      ###      ##       ##        ##       ###       ###        ##        ###        ### 
 ##       ##       ##      ###      ##      ##      ##     ##      ##     ##     ##     ##     #     ##    ##    ##    ##    ##    #    ##    #    #    #    #    #   ##   #    #   #   #    #   #   #   #   #  #   #   #  #   #  #  #   #  #  #  #  #  #  #  #    #  #  # #  #    # #    #      # # #               # # #      #    #    #  #  #  #  #   #   #   ##    #       ####        ###      #    #  #     # #     #        ##           ##  #  # # #  #            #    #     #         ##  #       #  #   ##       ##    #   #  #   #   ##               #######      # #  #   #      ## #  ##### ##########  ## #  #    #   #    #   ###  #          # #              #       #  #       #  ##              #   #  #  # #     # #  #  #  #   ##    ##                       ##     #    #    #  #   #  #        #  #    #    # #    # # # #         # # # #      # #    # #    #    #  #    #  #          #  #         #  #  #   #  #   #  #   #   #  #   #   #   #   #    #   #   #    #   ##   #    #    #    #    ##    #    #     #    ##    ##    ##     #     ##     #     ##     ##     ##      ##     ##      ##      ##       ##      ##       ##       ###       ##       ###       ###        ###        ###        ###    
     ##       ##       ##       ##      ##      ##      ##      ##     ##      ##     ##     #     ##     #     ##    ##    ##    #     #    #    ##    #    #    #    #   #    #   ##   #   #   #   #   #   #   #   #   #  #   #  #   #  #  #  #                 #  #  #    #    #    #    # #    # # # #               # # #    # #    #  #  #     #  #  #   #    #    ##      ###          ###      #       #  #      #    #  #   #             #  #       #   #      ##     #    #            #  #       #   #             #   #  #  #  #   #   ###      ##      ######   # #     # #      ## #  #   ############# ###  #  #   #                   ##   ###  #          #  #        #     # #  #  ##             ##        #         # #  #  #   #    ##       ############        ##    ##   #   #   #   #  #  #  #  #    #    # #    # # #               # # # #    # #    # #    #  # #  #       #  #  #  #  #  #  #  #  #   #  #  #   #  #   #   #   #  #   #   #    #   #   #    #   #    #   ##   #    #    ##   ##    #    ##    #     #     #     #     #     ##     ##     #      #      ##     ##      ##      ##      ##      ##       ##       ##       ##        ##       ###        ##        ###        ###         ##        
##       ##       ###      ###      ##       ##      ##      ##      ##     ##     ##      #     ##     ##     #     #     ##    #     #    ##    #    ##    #    #    #   ##   #    #   #    #   #   #   #   #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    # #    # # #                   # # #    #    #    #  #  #  #   #   #   #    ##     ###             ###     #   #   #    #     # #  #  #     ######    #  #       #     ###    #  # #  #   #     ##   #              #        ##   #  #    #  #     #     ####      #    #     #   #   # #  #       ##      ################ ##        #  #   #        #           #   ###  #   #          #  # # #     #              #   #  #  # # # # #    #  #   #   ##     ###              ###      ##    #    #   #  #   #  #  #    #  #    #      # #                       # #      #    # #    #  #    #  #    #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #   ##   ##   #    ##    #    #    ##    #     #     #     #     ##    ##     ##     ##     ##     ##      #      ##      ##      ##       ##      ###      ###       ##       ###       ###        ##        ###        ###         ###         ##
   ###       ###       ##       ##       ##      ##       ##      ##     ##      ##     ##     ##     ##     ##     #     #     ##    #     #    ##    #    ##    #    #    #   ##   #    #   #    #   #   #   #   #   #   #   #  #   #  #   #  #  #      #  #  #  #  #    #  #  #    #    #    # #    # #                       # # #    #    #  #  #  #  #  #   #   #    ##     ##                 ##    #       #    # # #    #  #    ##     ##    #          #         #  # # #  #          #     # #     #    ######    #     #      # #  #  #           #   #   #      # ######   #     ## #   #  ################    # #     #     ##   #        #      # #    #  # #  ##    #   #  # #  #  #      ###      #   #  #    # # #    #  #  #   ##    ##                      ##     ##    #   #   #  #      #       #    #    # #      # # # # # # # #        # #    # #    #    #  #    #  #          #  #         #  #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #   ##   #    #    ##   ##    #    ##    #     #     #     #     ##    ##     ##     ##     ##     ##      ##     ##      ##       ##      ##       ##       ##       ###       ###       ###        ##        ###         ##         ###         ###   
        ##        ##       ###       ##       ##      ##       ##      ##     ##      ##     ##      #     ##     ##     #     ##    ##    ##    #     #    #    ##    #    #    #    #   #    #   #    #   #   #   #   #   #   #   #  #   #  #   #  #  #                    #  #  #    #    #    #      # #      # # # # # # # #      # #    #    #  #  #  #  #   #   #    #     ##                    ##    #   #  #      #    #  #   #           #  #  # #     ##     ##  #     #   ##   ##   #  # # #     #            #     #     # # # #  #  #        #   #  #     #   #   #  ### ##             ###################   #       # #  #  #        #    ##  #  ##   #   #          #       #  #    ###  ###     #  #  #           #  #  #  #    #      ###           ###       #     #   #       #      #  #    #  #    # #    # # # #             # # #      # #    #    #    #    #  #  #  #              #  #  #  #   #  #   #  #   #   #   #  #   #    #   #   #   #    #   ##   #    #    #    #    ##    #    #     #    ##    ##     #     #     ##     ##     ##     ##     ##      ##     ##      ###      ##      ##       ##       ###       ##        ##        ##        ###        ###         ##         ###          ###      
  ###       ###       ###       ##       ###      ###      ##       ##      ##      #      ##      #      #      #     ##     ##    ##    ##    ##    ##    #    ##    #    #    #    #    #    #   #    #   #   #   #   #   #   #   #   #  #   #  #   #  #  #  #           #  #  #  #    #    #  # #    # #    # # # #           # # #      #    #    #  #  #      #   #   ##    ##       ##########       #       #  #           #   #    ######    #  #   #      #####      # #  #          #     #    #   #          ##  #       # #  # # # #   #      #   # #        #  #  #      # #  # #     # #  ##################          #    ## # #  #      #            # #  #       #     #    #   #          ##   #     #           #  #  #   ##    #                       ##     #    #   #   #   #  #  #  #    #  # #    # #        # # # # #        # # #    # #    #    #  #    #  #  #                 #  #  #   #  #      #   #      #   #   #   #   ##   #   #    #   #    #    #    #    #    #    ##    #    ##    ##    ##    ##     #     ##     #      #      #      ##      #      ##      ##       ##      ###      ##       ###       ##        ##        ###        ##         ###        ###         ###          ###          
       ##        ###       ###       ##       ###       ##      ##       ##      ##      ##      #      ##     ##     ##     #     ##     #     #     #     #    ##    #    ##   ##   ##   ##   #    #   ##   #   #    #   #   #   #  #   #   #      #  #   #  #  #  #           #  #  #    #  #    #    # #    # #            #          # #    # #  #    #  #  #   #  #    #    #      ###            ##     #   #     #         #  #   #         ##  #  #    #    ####   #  #     #       ##  #     #     ##         #   #     #  #  #  #     #  #     ##  # # #    #  #              #  ##   ##    #################              #       # #     # #    #   #   # #  #      ##  #   # #  #      ####     ##  #  #    # # #    #  #   #   #      ##              ###      ##    #   #   #   #  #  #  #  #    #    #      # # #             # # # #    # #    # #  # #  #    #  #  #                 #  #  #  #   #  #   #      #   #   #   #   #   #   #    #   #    #   ##   #    #    #    ##    #    ##    #     #     #     #     ##     #     ##     ##     ##      #      ##      ##      ##      ###      ##       ##       ###       ##        ###       ###        ###        ###         ###         ###          ###          ### 
###         ##        ###       ###       ###       ##       ##       ##      ##      ##      ##      ##     ##      #      #     ##     ##    ##    ##    ##    ##    #    ##    #    #    #    #    #   ##   #   #    #   #   #   #   #   #      #   #  #   #  #  #  #              #  #  #    #  # #  # #    # #    # # # # #     # # # #      #    #    #  #  #  #   #   #    #     #                    #    #   #  #    # #    #  #     #####    #  #     #    ###    #        ##    ##   #     #     ##         #   #     #   #   #   #   #  #     #      #  #    ##    # ## # ### ## # #      #   #############              # #     #          #  # #    #  #  #        #  # # #  #   #          ##   #  #  # #     # #  #  #   #    #       ############       ##     #   ##   #  #      #  #    #  # #  # #      # # # # # # # # # #      # #    #    #    #    #  #       #  #  #  #  #      #  #      #      #   #   #  #   #   #    #   #   #    #   #    #    #   ##    #    #    #     #    ##    #     #     ##    ##     ##     #      #      ##     ##      ##      ##      ##      ##       ##       ##       ###       ##        ###       ###        ###         ##         ###          ###         ####          ###     
     ###         ##        ###        ##        ##       ##       ###      ##       ##      ##      ##      ##     ##     ##     ##     ##     #     ##    ##    ##    #     #    ##    #    #    #    #   ##   #    #   #   #    #   #   #      #   #   #  #   #  #  #      #  #  #  #       #  #    #  # #  # #    # #        # # # # #        # #    #    #  #  #  #  #   #   ##    #      #####     ####     ##   #  #  # # # # #  #   #          ##  # # #      ####   #        ### ###   #     #     #           #        #   #       #  #   #       # # #  #      ##  # #  #  ### #   # ## #    #  #############   #    ###   # ###   ###          #  # ##  #      ##    #  # # #  #   ###     ##    #   #    # # #    #     #   #    ##                      ##     #    #   #   #  #        #  #    #    # #        # # # # #        # # #    # #  # #  #    #       #  #  #  #  #  #  #  #   #  #  #   #      #   #   #   #   #   #   #   #    #   ##   #    #    #    #    #    ##    #    ##    ##    ##    ##     #     ##     ##     ##     ##     ##      ##      ##      ##       ##      ###      ###       ##        ##        ##        ###        ###         ###         ###         ###          ###           ###         
##         ##         ###        ##        ###       ###       ##       ##       ##       ##      ##      ##      #      ##     ##     ##     ##     #     ##    ##    ##    #     #    #    ##    #    #    #   #    #   ##   #   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #       #  # #  # #  # #    # # #                   # #    #    #           #  #   #    #     ##                  #    #   #  #         #  #   ##      ##   # # # #   ######   # # #   ######   #       #   #            #  #   #  ##      ###               #   #          #   ##   #####    #  ##### ########################  ####     #      ##    #         #  #  #       #        #  #    #######     #  #  #           #  #  #   #     ##                   ##     ##    #   #   #  #  #  #  #  #    #    # # #          #            # #    # #    #    #  # #  #  #                    #  #  #   #  #   #      #   #   #   #   #   #    #   #   ##   #    #    #    #    #    ##    #    ##    ##    ##    ##     #     ##     ##     ##     ##     ##      ##      ##      ##       ##       ##       ##       ###       ###       ###        ###        ###         ###         ###         ###          ####          ####          ###
    ###         ###        ###        ###        ##        ##        ##       ##       ##      ###      ##      ##      ##     ##     ##     ##     ##     #     ##    ##    ##    ##    #    ##   ##    #    #    #   #    #   #    #   #   #   #   #   #   #  #   #  #   #  #  #                 #  #  #    #    #    # #      # # #           # # #    # #    #  #  #  #  #   #   #    #      ####        ###     #   #  #  # # # #         #######    #     #  ##     #  #   #  ##   ##   # # #     #     ####     #  # #          #        #   #    #  #  #    #  #  ###  # # ##### ##    ####################################  #  #   ###  #   #       #      #     ##  #     #  #    #######     #     #    #      #  #  #   ##    ##                  ##     ##    #   #   #  #  #  #  #  #    #    # #                       # # #    # #  # #  # #  #    #  #  #  #  #  #  #  #  #   #  #      #   #  #   #   #   #   #   #    #   #   ##   #    #    #    #    #    #     #    ##    #     #     ##    ##     ##     #      #      ##     ##      ##      ##      ##       ##       ##       ##       ###       ###        ##        ###         ##         ###         ####         ###           ###          ####           ####   
          ###         ##         ###        ###        ##        ##        ##       ##       ##       ##      ##      ##      ##     ##      ##     #      #     ##    ##     #     #    ##    #    ##    #    #    #    #   ##   #   ##   #   #   #   #   #   #      #   #  #      #  #  #  #  #  #  #  #    #  # #  # #    #      # # # # #   # # # # #    # #  #    #  #  #   #  #    #    ##          #          #   #   #    # # #  #  #     ####    #       #        #  # #  #      #     #         ##      ##      # #  #   #     #                    #   ##         # ## ##########  #####################################   # ## #  #     #     # # #  #       #     #    #    ##      ##       #    # # # #  #     #   #     ##                 ##      #    #   #   #              #  # #    # #        # # # #          # #    # #  # #  #    #  #    #  #  #  #  #  #      #  #      #   #  #   #   #   #   #   #   #    #   #    #    #   ##   ##   ##    #    ##    #     #     #     #     ##     #     ##     ##     ##      ##      ##      ##      ##      ###      ###       ##       ###       ###        ##         ##         ###         ###         ###          ###          ####           ###           ####        
   ###         ###         ###         ###        ###        ##        ###       ##       ###      ###      ##       ##      ##     ##      ##     ##     ##     ##     #     ##    ##    ##    #    ##    #    #    ##   #    #    #   #    #   #   #   #   #   #   #      #   #  #  #      #  #  #  #  #    #  #    #  # #    # #    # # # #       # # # #    # #  #    #  #  #   #   #   ##    ##                ##    #        # # #  #  #     ###    #  # # #   #####   # #  #        #       #   #            #   #      ####       #        #              #           ##     ############################################# #    ### # ####     #    #   ######   #       #   #           ##   #  # #         #  #  #   #     ##                  ###     #    #   #   #  #  #  #  #    #    # #      # # # # # # # #      # #    # #    #  #    #  #       #  #  #  #      #  #      #      #   #   #   #   #   #   #   #    #   ##   #    #    #    #    ##    #    ##    #     #     ##    ##     ##     #      #      ##     ##      ##      ##      ##       ##       ##       ###       ##        ###        ##         ##         ###         ###         ####         ####          ####           ###            ####           #
        ####         ###          ###        ###         ##        ###        ##       ###       ##       ##       ##      ##      ##      ##      ##     ##     ##     ##    ##     #     #     #     #    ##    #    #    #    #    #   #    #   #   #    #   #   #  #   #   #  #   #  #  #      #  #  #       #  #    #  # #    #      # # #           # # #      #    #  #  #  #   #   #   ##     ###           ##     #        # # #     #    ####    #  # #  #       #  # #   ####      #     #    ########     #  # #  #  #  #    ##   ###        #    ##            ## #  ###################################################  ##########  #     ##########   #  # # #  #    ########     #  #  # #     # #  #  #   #    ##                     ##     #    #   #      #  #  #    #    #    # # #             # # # #    # #    #    #    #  #       #  #  #  #      #  #  #   #  #   #   #  #   #   #   #   ##   #   #    #   ##   #    #    ##   ##    #    ##    ##    ##    ##     #     ##     ##     ##     ##     ##      ##      ##       ##      ##       ###       ##       ###        ##        ###        ###         ###         ###         ####          ###           ###           ####            ###             #### 
 ###          ####          ###         ###         ###        ###        ###       ###       ###       ##       ##       ##      ##      ##      ##      ##     ##     ##     ##    ##     #     #     #    ##    #    ##    #    #    #   #    #   #    #   #   #   #   #   #  #   #      #  #      #  #  #  #    #  #  #    #    # #    # #                   # #    #    #  #  #  #  #   ##   ##     ####       ###     #   #    # # # #  #    ######   #  #     ##  ##  # # #       #  # #     ##            #    #  #       #       ##   ##  #             # #     #          ########################################################### ##    ##    #     #  # # #     #              #   #  # #       #        #    #      #############       #     #   #   #      #  #    #  #    # #        # # # # #        # #    # #    #    #  #    #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #   #   ##   #    #   ##   ##   ##    #    #    ##    ##    ##    ##    ##     ##     #      #      ##     ##      ##      ##       ##      ##       ###       ##        ##        ##        ###         ##         ###         ####         ####          ###           ###            ###            ####             ####      
       ####          ###          ###          ###         ###        ###        ###       ###       ###       ##       ##       ##       ##      ##      #      ##     ##     ##     ##     #     #     #     #     #    #    ##    #    #   ##   #    #   #    #   #   #   #   #  #   #      #  #      #  #  #  #  #    #  #    #  # #    # #      # # # # # # #      #    #    #  #  #   #   #    #      #####   ####     #   #  #             ##     ##     #      ##          #   #     #  #    ###   ####     #   #  #  # ##  #   #     #      ###  #       #     #      #   # #########################################################  # # #    #  #  #  # # #     #              #   #  #    # #    #  #  #   #     ##                ##     ##    #   #      #  #  #    #  # #    # #                 # # #    # #    #    #  #    #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #   #   ##   #    #   ##   #    #    ##    #    ##    #     #     #     ##     #     ##     ##      #      ##      ##      ##      ##       ##       ##        ##       ###        ##        ###         ###        ###          ###          ###          ####           ###            ###            #####            #####           
###           ###           ###          ###          ###         ###        ###        ###        ##        ##        ##       ##       ##      ##      ##      ##      #      ##     ##     #     ##    ##    ##    ##    #    ##    #    #    #    #   #    #   #   ##   #   #   #  #   #   #  #      #  #  #  #  #  #  #  #    #    #    #    # # #               # #    # #  #           #   #    #      ####    ####     #   #  # #   #     #         #  # # #        #       ##         #     ####        #    #   # #  ##    ##   # ## ### #     #  ##     ##     # # # # #   ###########################################################  #          # # #     #    ###  ###     #  #  #         #        #    #       ##########       ##    #    #   #  #        #  #    #      # # # #       # # # #    # #    # #  #    #  #    #  #  #  #  #      #  #  #   #  #   #   #   #   #   #   #   #    #   #    #    #    #    #    ##    #    ##    ##    ##     #     ##     #      ##     ##     ##      ##      ##       ##      ###       ##       ##        ##        ###        ###        ###         ###          ###          ###           ###           ####           ####            #####             ####              ###
      ###            ###           ###          ####         ###         ###         ###        ###        ##        ##       ###       ##      ###      ##      ##      ##     ##      #      #     ##     #     ##    ##    #     #    #    #    ##   #    #    #   #   #    #   #   #   #  #   #  #   #  #      #  #  #  #    #  #  # #  # #  # #      # # # # # # # #      #    #           #   #   ##     ###        ###    #   #    # # #  #    #####   #  #  #       #              #  #              ##    ##   #      # #      # # ## #    #  ## #    #         #     ###  ###########################################################      ##        #     #              ##   #  #           #     #   #    ##                  ##     ##   #   #   #  #  #  #  # #  # #    # # # # # # # # # #      # #    #    #    #  #  #                 #  #  #   #  #   #   #   #   #   #   #   #   #    #    #   ##   ##   ##    #    #     #     #     #     #     ##     ##     ##     ##     ##      ##      ##       ##      ###       ##       ###       ###        ##        ###         ###         ###         ####          ###           ###           ####            ####            ####             #####              #####    
#            ###            ####          ####          ###          ###         ###         ###        ###        ##        ##       ###       ##       ##      ##      ##      ##      #      ##     #     ##     #     ##    #     #    ##    #    #    #    #    #   #    #   #   #   #   #   #  #   #      #  #  #           #  #  #    #    #    # #      # # # # # #      #    #    #  #      #    #    ###            ##    #  #  # # #     #         #     #                   #   #    ####      #    ##    ##   #  #    #   ## #  #      ####  #   #  ##  #     #  #### #########################################################    #        #   #  #                #   #  #  # # # # #    #   #   #     ##              ##      #    #   #   #  #  #  #  #    # #    # # #         # # # #    # #    #    #    #  #  #              #  #  #   #  #   #  #   #   #   #   #   #    #   #    #    #   ##   ##    #    #     #    ##    ##     #     ##     #      #      ##     ##      ##      ##      ###      ##       ###       ##        ###       ###        ###         ###         ###          ###          ###           ####           ####            ####            #####             #####              #####          
    ####            ####            ###           ####          ###          ###         ###         ###        ###        ###       ###       ##       ##       ##       ##      ##      #      ##     ##     ##     #     ##    ##    ##    #    ##    #    #    #    #   #    #   #   #    #      #   #   #  #   #  #  #  #  #  #  #  #  #    #    #    # #        # # # #      # #    #  #  #  #  #   ##    #                 ##   #  # #   #     ##    ##         ####  #    ####  # #  #      ##   #    #    #      ##   # ###  ##      #   #######     #    #  ##     ###############################################################   # # # # #     #            #    #        # # # # #        #   #     ###            ##      #    #    #  #           #  # #    # #                   # #    # #    #  # #  #  #       #  #      #  #  #   #  #   #   #  #   #   #    #   #   #    #   ##   ##   ##    #    #    ##    ##    ##    ##     #     ##     ##     ##      ##     ##      ###      ##       ##       ##       ###       ###        ###        ###        ###          ###         ####          ###           ####           ####            ####             #####             #####              #####                #
           #####            ####            ####           ###          ####          ###         ###         ###        ###        ###       ###       ##       ##       ##      ###      ##     ##      ##     ##     #     ##     #     #     #    ##    #    #    #    #    #   ##   #   #   #   #   #   #   #  #   #  #  #  #        #  #  #    #  # #    # #      # # # # #      # #    #  #  #  #   #    #      ####   ###     #   #         #    ####      #  #    #  # #     #   #          #      #   #     ###         # # ## ###  #     ###   #  #    #  #     # #################################################################### #    #    ######     #   #  #  #    # #      #  #  #   ##    ###             ###     #    #   #   #  #  #  #  #    # #      # # # # # # # #      #    # #    #  #    #  #  #  #  #  #  #   #  #      #   #  #   #   #   #    #   #    #   #    #    #    #    ##    #     #    ##    ##     #     ##     ##     ##      ##     ##      ###      ##       ##       ##       ###       ###        ###        ###         ###         ###          ###          ####           ####           ####            #####             ####              #####               #####                #####  
  ####              ####             ####           ####           ####          ####          ###         ###         ###         ##        ###       ###       ###      ###      ##       ##      ##      #      ##     ##     #     ##     #     #    ##    #    ##    #    #    #   #    #   #   #   #   #   #   #  #   #  #      #  #  #  #    #  #    #    #      # # # # # # # # #    #    #  #  #   #   #    ##              ##   #  #     #       ##    #   #       # #  ##   # #        #  #  #  #  #   #         ##   #    #      #    # #  ##     ##  #   # # #   #################################################################  # #   #  #   ##   #  #    #    # # # #    #  #  #   #    ##                  ##     #    #   #  #  #  #  #  # #    #          # #        # # #    #    #    #  #          #         #  #      #   #  #   #   #   #   #    #   #    #   ##   #    ##    #    #     #    ##    ##     #     ##     ##     ##     ##      ##      ##      ###      ##       ###       ##        ###        ##         ###        ###          ###          ###           ###           ####            ####            ####              ####              #####               #####                 #####         
          #####             #####             ####            ###            ###           ###          ####         ###         ###        ###        ###       ###       ##       ##       ##      ##      ##      ##     ##     ##     ##     #     #     #     #    #    ##    #   ##   #    #   #    #   #   #      #   #  #   #  #  #  #  #  #  #  #    #    #    # #                 # #    #  #  #  #  #    #     ###       ##    #   # #   #      ####   #   #               # #       #  #      # #  #   ######   #            #   #          #   ###      # #   # ################################################################## # ##  #  # #     # #             # #           #    #       ###########       #    #    #  #   #  #  #    #    # #                   # #      #    #    #  #  #              #  #  #   #  #   #   #   #   #   #   #   #    #   ##   #    #    ##    #    ##    #     ##    ##     #     ##     ##      ##     ##      ##       ##      ###      ###       ###       ###        ##         ###         ###         ###          ####          ####           ####           ####             ####              #####              #####               ######                ######                
####               #####              ####             ####            ####            ###           ###           ###         ###         ###         ##        ###        ##       ###      ###      ##       ##      #      ##     ##     ##     ##    ##     #    ##    #    ##    #    #    #   #    #   #   #   #   #   #   #  #      #  #  #  #  #  #  #    #    # #    # # #       # # #    #    #  #  #   #   ##      #######     #   #       #   ##  ##      #    #        #    ###   # # #    # # #  #         #   #  # #  #  ##      # #  # #  #                ################################################################### ## ###   # # #  #    #    #    #  #  #       #    ##                   ##    ##   #   #      #       #    # #        # # #        # #    #    #    #  #       #  #         #  #   #  #   #   #   #   #   #   #    #   #    #    #    #    #     #    ##    ##    ##     #     ##     ##      #      ##      ##      ##       ##       ##        ##        ##        ###        ###         ###          ###          ###           ####           ####            ####             ####              ####               #####                #####                 ######                   #####
        ######               #####              ####             #####            ####           ####           ###          ####         ###         ###        ###        ###       ###       ##       ##       ##      ##      ##      #      #      #     ##    ##     #    ##    #    #    ##   #    #    #   #   #   #   #   #   #  #   #  #  #  #  #  #  #  #    #    # #    # # # # # # # #    #    #  #  #   #    #                ##  #  # # #  #       #  #  #   #        # #     #     #  #     # #  #         #     #    #  #   #      ## # #     #   # #   # ####################################################################### #             #   #   #      #   #   ##     ##                ##     ##   #   #   #  #  #  #    #      # # # # # # # # #      #    #    #    #  #  #  #  #  #  #      #  #   #   #  #   #   #    #   #   ##   #    #    #    ##    #    ##    #     ##    ##     ##     ##     ##     ##      ##       ##      ##       ###       ##        ##        ###         ##         ###          ###          ####          ####           ####            ####             #####              #####              ######                #####                  ######                   ######       
##                ######               #####               ####             #####            ####            ###           ####          ###          ###         ##         ###        ##        ##       ###      ###      ##      ##      ##     ##      #     ##     #     #     #     #    #    #    #    #    #   #   #    #  #   #   #      #  #              #  #  # #  # #    # # # # # # # # #    #  #     #  #    #                 #  #  # #  #   ####      #    #         #   #  #  #    ##   #     #      # #  ##    ## #  ##   # #    # ##  #    #       #  ##########################################################################       #         ##    #     #     ##                    ##     #   #   #   #  #  #    #    #        # # # #        # #    #    #  #    #  #  #  #  #  #   #  #   #  #   #   #   #   #   #    #   #    #    #    #    #     #    ##    ##     #     ##     ##     ##     ##      ##      ##       ##       ##       ###       ###        ###        ###         ###         ####          ###           ###            ####            ####             #####              #####               #####                 ######                 #######                   #######               
      ######                 ######                #####              #####             #####            ####            ###           ####          ###          ###         ###        ###        ##        ##       ###      ##       ##      ##      #      ##     ##    ##     #     #     #    ##    #    #   ##   #    #   #   #   #   #   #  #   #  #  #  #  #  #  #  #    #      # #             # #    #  #  #  #    #      ######     #     # #  #          #        #   # #    # #   #########   #   #        #    #         # ### ##    #  ### # #    ###  #  ########################################################################  #   # # #  ##         ###         #####    #####       ##    #   #   #  #     #  #    # #      # # # #        # #    #    #    #  #  #  #  #  #  #      #      #   #   #   #   #   #    #   #    #    #    ##    #    ##    ##    ##     #     ##     ##      #      ##      ##       ##       ##       ###       ###        ##         ###        ###          ###          ####           ###            ####            ####              ####               #####               #####                 ######                  #######                    #######                     ###
                  ######                 ######                #####               ####              ####             ####            ###           ####          ###          ###         ##         ###       ###       ###       ##       ##      ##      ##      #      ##     #     ##    ##    ##    #    ##   ##   ##   #    #   #   #   #   #   #  #   #  #  #  #  #  #  #    #  # #    # # # # # # # #    #  #  #  #   #    ##        ##      #             #   #       ###       #   ##     #      #          # #     #   # ##    ########  ###### ### ####  #   ######################################################################   # #      # #  #       ###################        ##    ##   #   #  #        #    #    # # # # # # # # #      #    #    #  #       #  #      #  #  #   #   #  #   #   #   ##   #   #    #    #    #    ##    #    ##    ##     #     ##     ##     ##      ##      ##      ##       ##       ###       ###        ##         ##         ###          ###          ####           ###            ####            #####             #####              #####                #####                  ######                  #######                    #######                       ########    
    #######                   ######                  ######                #####               #####              ####             ####           ####           ####          ###         ###         ###        ###        ##        ##       ##       ##      ##      ##     ##     ##     ##    ##    ##    #     #    #    #    #   #    #   #   #   #  #   #  #      #  #  #    #  #    # #    # # # # # #    # #  #  #   #   #              ##  #   #         #   #  #   # #             #    #   #  #  #  # ##   #       #       #   ###################   #   # ############################################################################    #  #  #     #     ###          ##      #     #   #   #  #  #  #  #    # #      # # # # #      # #    #    #  #       #  #      #  #  #   #      #   #   #    #   #   ##   #    #    ##    #    ##    ##    ##     #     ##     ##      ##      ##      ##       ##       ##       ###        ##         ###        ###          ###          ####           ###            ####            #####             #####               #####                #####                  ######                   #######                     #######                        ########              
                 #######                    ######                  ######                ######               #####             #####            #####           ####           ###          ####         ###         ###        ###       ###       ##       ##       ##      ##     ##      #     ##     #     #     #    ##    #    #    #   #    #   #   #   #  #   #  #              #  #    #    # # # # # # # #    #  #  #   #   ##          #   #     #   ##   # #   # #   #    #     # #    # #  #   # #                 #  ##    ########################  #   #######################################################################       # #    #     #  #    #     #     ##    #   #   #   #  #  #  #    # #    # # # # # # #      # #    #  #    #  #  #  #  #  #  #   #  #   #   #   #   #   #   ##   #    #    #    #    ##    ##    ##    ##     ##     ##     ##      ##      ##      ##       ###       ##        ###        ###         ###         ###          ####          ####            ####            #####             #####               #####                ######                  ######                    #######                     ########                        #########                         
########                       #######                     ######                   ######                ######               #####             #####             ####           ####           ###          ####         ###        ###        ###       ###       ##       ##      ##      ##     ##     ##     ##    ##    ##    #    ##   ##   #    #   #   #   #   #   #  #   #  #  #  #  #    #    # #               #    #  #   #    ##       ##   # # #  #     # #      ### # #     #  #      #                  #      ##   #   # ######################## ##   ######################################################################## # ## # #         #    #   #   #   #   #   #   #      #       #    # #                 # #    # #  #    #  #  #  #  #  #  #   #  #   #   #   #   #   #   #    #    #    #    #     #    ##    ##     #     ##     ##      ##      ##      ##       ##       ###       ###        ###         ###         ###          ###           ####            ####            #####             #####               #####                 #####                  #######                    #######                      ########                         #########                            ##########
               #########                       ########                    #######                   ######                 #####               #####              ####             ####            ###           ####         ####         ###        ###        ##        ##       ##      ###      #      ##     ##     ##    ##    ##    #    ##    #   ##   #   #    #  #   #   #  #      #  #    #  #    # #             # #  #  #  #    ##        #   #      #   #   #  # ### ###    #       #     # #         #    ##          # #   ##########################   ##########################################################################  ###         #       #        #  #  #      #       #    # #      # # # #        #    # #  #    #  #  #  #  #      #  #   #   #   #   #   #   ##   #    #    #    ##    #     #     #     ##     ##     ##      ##      ##       ##       ##        ##        ###         ##          ###          ###           ###            ####             ####              ####               ######                ######                  #######                    ########                       ########                         ##########                             ##########             
#####                           #########                        ########                     #######                   ######                 #####               #####              ####             ####            ###           ###          ###         ###        ###       ###       ##       ##      ##      ##     ##     ##    ##    ##    #     #    #   ##   #   #   #   #   #      #  #  #  #  # #  # #    # # # # #    #  #  #   #            #  # #  #       # #    #      #  #        #    #    #                     #    ############################ ##########################################################################  #  ##  #      #  # # # #  # #  #  #    #    #    # #                   # #    #    #  #  #        #  #  #   #  #   #   #   #   #    #   #    #    #     #    ##    ##    ##     ##     ##     ##      ##       ##      ###       ##        ###        ###         ###          ###           ###            ####            #####             #####               #####                 ######                   ######                     #######                        ########                           #########                               ###########                           
             ###########                            #########                         #######                      #######                   ######                 #####               #####              ####             ####           ####          ###          ###        ###        ###       ##       ##       ##      #      ##     ##    ##    ##    #    ##    #   #    #   #   #   #  #   #  #  #  #  # #  # #      #        #  #  #    #        #             #    #  #   ##     ##     #   ### # #           #     #     #########################################################################################################  #                      # # #      # #    # # #               # #      #    #  #       #  #      #  #   #  #   #   #   ##   #   ##   ##   ##    #    ##    ##     #     ##     ##      ##      ##       ##       ##        ##        ###         ###         ####          ####           ####            ####              #####               #####                 ######                  #######                     ########                        ########                            ##########                                ###########                                     #######
                                   ##########                              #########                         ########                     #######                    ######                ######               #####             ####            ####           ####          ###         ###        ###       ###       ##       ##      ##     ##     ##     #     #    ##    #   ##   #   ##   #  #   #      #  #       #    # # # # # #    #   #   ##      #                #       # #    #  #      #    ## #  #     #  ##          ####################################################################################################### #         #  #####   #    #                      # # #    # #    #  #    #  #  #  #  #   #  #   #   #  #    #   #   ##   ##   ##    #    ##    ##     #     ##      #      ##      ###      ###       ##        ###        ###         ###          ####           ####            ####             #####               #####                 ######                  #######                     ########                         ########                             ##########                                 ############                                        ##############          
          ##############                                    ###########                              #########                         ########                      #######                   ######                 #####               #####             ####           ####           ###          ###        ###        ##       ###      ##      ##      ##     #     ##    #     #    #    #   #   #   #   #  #  #  #  #  # #    # # # # #  #  #  ##         #         #                 ##  # #    #     #   #     #    #   ###  ######################################################################################################### #    # #   #       #        #    # #      #    # #  # #  #                 #  #   #  #   #   #    #   #    #    #    #     #     #     ##     #      ##      ##      ##       ##        ##        ###         ###          ###          ####            ####             #####              #####                 ######                  #######                     ########                         #########                             ##########                                   #############                                         ################                              
                                      ##############                                     ############                              ##########                         ########                      #######                   #####                 #####              ####             ####           ###          ####        ###        ###       ##       ##      ##     ##     ##    ##    #    ##   #    #   #   #  #   #  #  #    #      # #    #  #   #      #    #    #   ##  ###    #   ####    # # #     # ##          #  #   #######################################################################################################   #  #     #  ##   ##   #   #  #       #  #    #  #  #  #  #  #   #  #   #      #    #   #    #   ##    #    #     #     ##     ##     ##      ##      ##       ###       ###        ###         ###          ####           ####             ####              #####                ######                  #######                     ########                         #########                             ###########                                    #############                                            #################                                                       
     ###################                                                 ##############                                       ###########                               #########                          ########                     ######                   #####                ####              ####            ###          ####         ###        ##       ###      ##      ##     ##     #    ##    #    #   #   #   #      #       # #       #     #        #    ## # #   #    #  #   #             #             #  ## ############################################################################################################# # #  #    #    ##     ##   #  #      #  #  #   #  #   #  #   #   #    #   #    #    #    #     #     #     ##     ##      ##      ###       ##        ##         ###         ###           ####           #####             #####               #####                  #######                    ########                         #########                             ###########                                     ##############                                              ##################                                                            #######################    
                                             ####################                                                    ##############                                       ############                               #########                        ########                    ######                 #####              ####            ####           ###         ###        ##       ##      ##      #     ##    ##   ##   #    #  #   #  #  #    # # # #     #          # #      # #   # ##   ##         #  # ##    #     ##############################################################################################################      #   #   #           ##    #   #   #   #   #    #   #    #    #    #    ##    ##    ##     ##      ##      ##       ##        ##         ###         ####          ####             ####              #####                 ######                    #######                        #########                             ###########                                     ##############                                                ###################                                                                 ##########################                                      
########################                                                                             #####################                                                    ###############                                      ###########                             #########                      #######                  ######              #####            ####          ###        ###       ###      ##     ##     #    #    #   #   #  #  #  # #     #  ##    # #      ##    #   ## ##      #    #  # #   #  ## ################################################################################################################    #  #  #  #            ##     #    ##    #    ##    #     ##     #      ##      ##      ##        ##         ##          ###           ####            #####               #####                  #######                      ########                            ###########                                    ##############                                                 ###################                                                                      #############################                                                                                       
                                                                 ####################################                                                                                 #####################                                                   #############                                   #########                         #######                   #####              ####           ####         ##       ##      ##     #    #    #                #        ##    ## ##      #  ##  # # # #    #  #    #############################################################################################################  #  ###  # #   #             ##       ##      ##       ##       ##        ###         ###          ####            #####              ######                   #######                        #########                                 #############                                               ###################                                                                        ###############################                                                                                                                               ######################################
########################                                                                                                                                                                                   ###################################                                                                         ##################                                      ##########                       ######              ####          ###       ##    ##   #   #                        # #   ####    ###  #    # ##############################################################################################################   #      #    ##                #####            #####             #####                  ######                         #########                                     ###############                                                                ##############################                                                                                                                                           ##############################################################################                                                                                       
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ## #### ### ##################################################################################################################################                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
                        #############################################################################                                                                                                                                         #############################                                                              ##############                                  ########                     #####             ####         ##       #     #   #     # #  ## ### ##    ##       ##       #     #  ### ##############################################################################################################   #  #     ##                       ####             ####              ######                  ########                          ###########                                         ##################                                                                            ####################################                                                                                                                                                                                     #######################################################################################
                                                                                                     ##############################                                                                        ###################                                             #############                               #########                       #######                 #####             ####           ###        ###      ##      ##    ##   ##   #  #  #  # # #        #      #       #  ##     ##       # ##   #  ###############################################################################################################    #   #      #                ###      ##      ###      ##       ###        ###         ###           ####             ####                ######                    #######                          ##########                                    ##############                                                    #####################                                                                                  ####################################                                                                                                                                 
                        ############################                                                                      ###################                                                ##############                                   ###########                           ########                     ######                  #####              ####            ###          ###        ###       ##      ##     #     #    ##   #   #   #  #  #    # #                      #      #  #    ###   #    # # # #  #  # ##############################################################################################################    #    #   #               #     #     #    #     #    ##     #     ##      ##      ##      ###       ###        ###          ####           ####             #####               ######                   #######                       #########                              ###########                                       ###############                                                     #####################                                                                              ################################                                                       
                                                                 ###################                                               ##############                                     ###########                             ########                        #######                   ######                #####             #####           ####          ###         ##        ##       ##      ##     ##     #     #    #   #    #  #   #  #    #         #  #        # #    # #   #   #    ##    #               ###  # #  #############################################################################################################   ##      #      ####      #    #   #   #   #   ##   #   #    #    #    #     #     #     ##     ##      ##      ##       ###       ###         ###          ###           ####             #####              ######                 ######                     ########                         #########                               ############                                       ###############                                                    ####################                                                                       ############################          
                        #################                                              ##############                                    ###########                             #########                         #######                    #######                 #####               #####             ####           ####          ###         ##        ###       ##      ##      ##     #     ##    #    #    #   #   #   #  #     #  #    # # #    #  #          #  #          #  # #      # #           # #   #  #     ## #############################################################################################################      # #  #   ##  ##     #      #  #      #  #      #   #  #   #   #    #   #    #    #    ##    ##    ##     ##     ##      ##       ##       ###       ###         ###         ####           ###             ####              #####               ######                   ######                      ########                          #########                               ############                                       ##############                                                  ##################                                                                 ####
########                                            #############                                    ##########                              #########                        ########                     ######                  ######                #####             #####            ####          ####          ###        ###        ##       ###      ##      ##     ##     #     #    ##    #   ##   #   #   #  #           #    # #     # #  #   #        #  #            #         #        # # # ## ##     # #     #   # ########################################################################################################## #     ###   #       #   #        #  #  #    #  #  #  #  #  #  #      #   #  #   #    #   #    #    #    #    ##    ##     #      #      ##      ##      ###       ##        ###        ###         ####          ####           ####             #####              #####                 ######                   #######                      ########                          #########                               ############                                     ##############                                               #################                                      
                        ############                                   ##########                             #########                        ########                     #######                  ######                #####               ####             ####           ####          ###          ##         ###       ###       ##      ##      ##      #     ##     #    ##    #    #    #   #   #   #      #  #  #  #    # #           #  #  #            # #  ###   #    ##    ##  #         ##   # #        #   # ## #       ########################################################################################################     #   # #         #  #  #    #      # #    #    #    #    #  #  #  #  #   #  #   #  #   #   #    #   #    #    #    ##    ##    ##     #     ##      ##      ##      ##       ###       ###        ###         ###          ###           ####            ####              ####               ######                 ######                   #######                      ########                          #########                              ###########                                     #############                                            ################              
############                                 ##########                             ########                         #######                     #######                   #####                 #####               ####             #####           ####           ###          ###         ###        ##        ##       ##       ##      #      ##     #     ##    #     #    #    #   #    #   #  #   #  #        #  #    #             #     #   #         #  # #      #       ##          #  ##   # # #     ##       #   #      # ##########################################################################################################     ###   #     #     #    # # # # # # # # # #      # #    # #  #    #  #  #  #  #  #      #   #      ##   #   #    #    #    #    #     #     #     ##     ##     ##      ##       ##       ##       ###        ##         ###         ####          ###            ####            ####              #####               ######                 ######                   #######                      ########                         #########                              ###########                                  #############                                         ##########
                        #########                            ########                        ########                     ######                   ######                #####               #####             #####            ####           ###          ###          ###        ###        ##       ###      ##       ##     ##      #      #     #     #    ##    #    #   ##   #   #   #   #  #      #  #       #    # # #   # # #    #  #   ##          #  # #  ###             #   #  #      #  #      #  #### ##  # #  #    ## ######################################################################################################### #     ##  #   ##   #  #       # #      # #      # # # # # # #      # #  # #  #    #  #  #  #  #   #  #   #  #   #   #    #   #    #    #    #    ##    #     #     ##     ##     ##      ##      ##       ##       ###       ###        ###         ###          ###           ###            ####            #####              #####               #####                  ######                   #######                      #######                         #########                             ##########                                 ############                                
     #########                           ########                        #######                     ######                   #####                 #####               #####             #####            ####           ####          ###          ###         ##         ##        ##       ##       ##      ##      ##     ##     #     #     #    ##    #    #    #   #   #   #   #   #  #   #  #  #       #    # #           #    #  #   #     #####    #     #     # #   #              # # # #  ## # #        # #     # ## ###    # ########################################################################################################   #  #         #         #    #  #  #    #    #      # # # # # # # # #    # #  # #  #       #  #      #  #   #  #   #   #   #   #    #   ##   ##   ##    #     #     #     ##     #      ##     ##      ##       ##       ##       ###        ###        ###         ###          ####          ####            ####             ####              #####               ######                 ######                   #######                     ########                        #########                           ##########                                ###########                
                        ########                       #######                    ######                   #####                 #####               #####             #####            ####           ####           ###          ###         ###        ###       ###       ##       ##       ##     ##      ##     ##     #     #     #    ##    #    #    #   #   #    #  #   #   #  #  #        #  #    #    # # # # # # #    #  #  #    #           ##  # #  #     # #             ##    #     #####      # #     #    ####     #    #########################################################################################################     # #       # # # #  #  #  #  #      #  #  #  #    #      # #           # # #    #    #    #  #  #  #  #  #  #   #  #   #   #   #   #   #    #   #    #    ##    #    ##    ##    ##     ##     ##     ##      ##      ##       ##       ###       ###        ###        ###          ###          ####          ####            ####             ####              #####                #####                 ######                   #######                     #######                        ########                           #########                              ###########  
        ########                      #######                    #######                  #####                 #####               ####              ####             ####           ####          ####          ###         ###        ###        ##        ##       ##       ##      ##      ##     ##     ##     #     #     #    ##    #    #   #    #   #   #   #   #   #  #         #       #    #    # # # # # # #    #    #   #   ##           #     #  #              #       #      #     ##  # #    # #   # #  ## ##         # #########################   #  ########################################################################  #       ####  #   #     #   #   #   #   #   #   #  #  #  #    # #    # # # # # # # #      #    #    #  #              #  #      #   #   #   #   #   #   ##   #    #    #    ##    #     #     #     ##     ##     ##      ##      ##      ###      ###       ##        ###        ###         ###         ###          ####           ####            ####             ####              #####               ######                ######                   ######                     #######                       ########                          #########                             
##                      #######                   ######                  ######                #####               ####              ####             ####           ####          ####          ###         ###         ###        ##        ##       ###      ##       ##      ##     ##     ##     ##    ##    ##    ##    #    #    #    #   #    #   #   #   #  #   #  #  #  #  #  #  #    #    #                 #    #  #   #   #             #   # # #  ##  ##        #      ##   ##      #        ###        # #     #    #    #   ###################### #      ####################################################################### # #          # # #  #   ##    ##     #    ##   #   #   #  #  #  #  # #    # #               # #    # #  #    #  #           #  #  #   #  #   #   #   #   #   #    #   #    #    #    ##    #     #     #     ##     #      #      ##      ##      ##      ###       ##       ###        ##         ###         ###         ###           ###           ####            ####             ####              #####               #####                 ######                  ######                     #######                      ########                         ########                 
           ######                   ######                  #####                #####               ####              ####             ####           ####           ###          ###         ###         ###        ###       ###       ##       ##       ##      ##      ##     ##     ##     #     #     #    ##    #    #    #    #   #    #   #   #   #  #   #  #  #           #  #    #    # #             # #    #  #   #   #     #######          #  #        # #    # #   #     #         #  #   ##       #   #  #  # ## ##  # #   ###################  #   #  ########################################################################     #  #    #   #  #    ##          ###      ##    ##   #   #  #        #  # #    # #           # # #    # #    #  #    #  #  #  #  #      #  #   #  #   #   #   #    #   #    #   ##   ##    #    #     #     #     #     ##     ##     ##      ##      ##      ##       ##       ###       ###       ###         ##         ####         ###           ###           ####            ####             ####              #####               #####                ######                  ######                    #######                     ########                        ########      
#####                   ######                 #####                #####              #####             #####            ####           ####           ###          ###          ###        ###         ##        ##        ##       ##       ##      ##      ##     ##      #     ##     #     #     #    ##    #    #    #   #    #   #   #   #   #   #  #   #  #  #  #  #  #    #  #    # #                 #    #  #  #   #    #            #   #  # #  #        # #     # #   # ####   ##  ##    ######  # #     #   ####  # # #      ####### # ######### #         #########################################################################              #    ####                         ##     #    #   #      #  #    #    # #                 # # #    #    #  #    #  #  #  #  #      #  #   #      #   #   #    #   #   ##   #    #    ##    #    ##    #     ##    ##     ##     ##     ##      ##      ##      ###      ###       ##        ##        ###        ###         ####         ###           ###           ####            ####             ####              ####               #####                ######                  ######                   ######                     ########                       ####
            ######                 #####                #####              ####              ####            ####           ####           ###          ###          ###         ##         ##        ###       ###       ##      ###      ##      ##     ##      #      #     ##    ##    ##    #     #    #    #    #   #    #   #   #   #   #   #  #      #  #  #  #  #  #    #    # #    # # # # # # #    #    #  #       #    ###      ###   #  #     #    ##   #    ###  #                #           #  #  #    #   #      #   #  # ######  ##  ##### #  #           ########################################################################    #      #              ###           ####          ##     #   #   #      #    #  # #    # # #         # # #    # #    #    #  #  #  #     #  #  #  #   #  #   #   #   #   #   #   #    #   ##   ##   ##    #    #     #     #     #     ##     ##     ##     ##      ##      ##       ##       ##        ##        ##        ###         ##         ####         ####          ###           ####            ####            #####             #####               #####               ######                 ######                   ######                     #######                 
  #####                 #####               #####              #####             ####            ####           ####           ###          ###          ###        ###         ##        ###       ###       ##       ##      ##      ##      ##     ##     ##     ##    ##    ##    ##    #    ##   ##   ##   #    #   #   #    #  #   #   #  #   #  #  #  #  #  #  #  #    #    # #                   #    #  #  #  #    #     #########     #  #     #  ##    #  # #      #  ###  #     #   #   ##    #  # #  #    #        #         # #    ###   # ##         ## #   ##########################################################################   ## #            #    ##    ##     ###              ###     ##   #   #   #  #  #  #    #    # # #           # # #    # #    #  #    #  #  #  #  #  #  #      #      #   #   #   #   #   #    #   #    #    #    #    ##    #     #     #     ##     #      #      ##     ##      ##      ##       ##       ##        ##        ##         ##         ###         ###          ###          ####          ####            ####            #####             #####              #####               ######                 #####                   ######                    #######        
              #####               ####              #####             ####            ####           ####          ####          ###         ###         ###        ###        ##        ##       ###      ###      ##      ##      ##     ##     ##     ##     #     ##    #     #    ##   ##    #   ##   #    #   #   #   #   #   #      #      #  #  #  #  #  #    #    #    # #                 # #  #    #  #   #   ##     #########     #  #       #         #   #     # #              # #        #        #    ##         ##     # ##  #       #     #        ###  ##########################################################################    #####    #   #   #  #   #   #    #      ###          ###      #    #   #   #  #  #  #  # #  # #                   # # #    #    #    #  #  #        #  #  #  #   #  #   #   #  #   #   ##   #   #    #   ##   #    ##    #    #     #    ##     #     ##     #      #      ##     ##      ##       ##      ###       ##       ###       ###        ###        ###         ###          ###           ###           ####           ####            #####             ####               ####                #####                ######                  ######                   #######
    #####               #####             #####            ####            ####           ####          ####          ###         ###         ###        ###        ###       ##        ##       ##      ##       ##     ##      ##     ##     ##     #     #     #     #    ##    #    #    #    #   #    #   #   #   #   #   #      #  #   #  #  #  #  #       #    #    # #        # # #      # #  #    #  #   #   #     ###       ##    #     # # #   #      #  #        # #      #  #   #        # #     #  #       #  #  ##    #   ## #   #   #   # #   # #   # #     #########################################################################   #     #    #    #    #  #  #  #  #    #     ##              ###     #    #   #   #  #  #  #    # #    # # #       # # # #    # #    #    #  #    #  #  #  #  #  #   #  #   #  #   #   #   #   #   #   #    #   #    #    #    #    ##    #     #     #     #     ##     ##     ##     ##      ##      ##      ###      ###      ###       ###       ###        ###        ###         ###          ###          ####           ###            ####            ####             ####              #####               #####                ######                 ######                  
               ####              ####             ####           ####           ####          ####          ###         ###         ###        ###        ##        ##       ###      ###      ##      ##      ##      ##     ##     ##     #     ##    ##    ##    #    ##    #    #    #   ##   #   #    #   #   #  #   #   #  #      #  #  #  #  #  #    #  # #  # #      # # # # # # # #    #    #  #  #       #    ##            ##   #     # #  #  ##    #             # #           ###   #  # # #    #  #             # #  #    #             #  #        ###   ###   ################################################################## #  ##    #   #      # # # # # #    # #  #  #   #    ##                     ##    #    #      #  #  #  #    # #    # # # # # # # # #      # #    #    #  #       #  #  #  #      #  #   #  #   #   #   #   #   #   #   #    #    #   ##   ##    #    #     #    ##     #     #     ##     ##     ##      #      ##      ##       ##       ##       ##        ##        ##        ###         ###         ###         ###           ###           ###            ###            #####            #####              ####               #####                #####                 ######          
      #####             ####             ####           ####           ###           ###          ###         ###         ###        ###        ##        ##        ##       ##      ###      ##      ##     ##      ##     #     ##     ##    ##    ##    #    ##    #    #    #    #   #    #   #   #   #   #   #   #  #   #  #  #              #  #    #  # #    # #                   #    #    #  #   #   #   ##        ###       #   #    # #  #   ##  ##   # #   ####  #  #  ##       ##    #  #            ##     ##    #  #      #     #                  ###   #    #################################################################       #    ###    #  #  #    #           #        #   #     ##             ###     ##    #   #  #           #    #    # # # # #   # # # #      # #    #    #  #    #  #  #  #  #  #   #  #  #   #      #   #   #   #   #    #   #    #    #   ##    #    #    ##    #     #     ##    ##     ##     ##     ##     ##      ##      ##       ##      ###       ##       ###        ##        ###         ##         ###          ###          ####          ####           ####            ####            #####             #####              #####               ######                ######   
###             ####            ####            ###           ####          ###          ###         ###         ###        ###        ##        ##       ###      ###      ##       ##      ##     ##      #      #     ##     ##    ##    ##    ##    #    #    ##   ##   #    #    #   #   #   #   #   #   #      #      #  #  #  #  #  #  #    #  #    # #    # # #           # # #    #    #  #      #   ##    ###          ##    #     # # #     ##    ##  #   #      #          # #   #####    #  #   #   #       #######   # #       #     #   ##   #    #      #    ##################################################################    ##     #           #   #  #  #  # #     # #  #  #  #    #      ####     ####      ##    #   #   #           #  # #    # #                 # # #    #    # #  #    #  #  #  #  #  #  #  #      #  #   #   #  #   #   #   ##   #   #    #   ##   #    #    ##    #    ##    #     #     ##    ##     ##     ##     ##      ##     ##       ##      ##       ##       ###       ##        ###        ##         ###         ###         ###          ####          ####           ###            ####             ####             #####              #####               #####                ##
        ####            ####           ####           ###          ####         ###         ###         ###        ###        ##        ##       ###      ###      ##       ##      ##     ##      ##     ##     #     ##     #     #     #    ##    #    #    #    #    #   ##   #   #   ##   #  #   #   #   #  #      #  #  #  #  #  #  #    #  # #    #      # # #         # # #    #    #  #  #      #    ##      ########      #        #    #  #        #  # #  #    #  #  #    #     #         #   #    #    ##      #            #                #       #          ###############################################################  #     #   ## #  #         ##    #   #  #             #  #   #   ##      ############      ##    #    #  #   #  #  #    #    #      # # # # # # # # #    # #    # #  #    #       #  #  #  #  #      #  #      #   #      #   #   #    #   #   #    #    #    #    #    #    ##    #     #     #     #     ##     ##     ##     ##      ##     ##       ##      ##       ##       ###       ##        ###        ##         ###        ###          ###          ###          ####           ####           ####            #####             ####              #####              ######           
 ####           ####            ###           ###          ###          ###         ###         ##         ##        ###       ###       ##       ##       ##      ##      ##      ##     ##      #     ##     ##    ##     #    ##    ##    #    #    #    #    #    #   #    #   #   #   #   #   #  #   #  #   #  #  #  #  #  #  #  #    #  # #  # #    # # #             # #    # #  #        #  #   ##    #                 #    #  #       #  #             # #   ####  # #  #####  # #   ##    ##     #     #     #   #   ##  ##           #         # #        #      ################################################################# # ##  #     #     ##            ##   #     #           #  #   #   #      ####      ####      ##    #   #   #  #        #  # #    #        # # # #        # #      #    #    #  #       #  #  #  #      #  #      #   #  #   #   #   #   #   ##   #   #    #    #    #    #    #    ##    ##    #     ##    ##     #     ##     ##      #      ##      ##      ##       ##      ###       ##       ###        ##        ###        ###         ###         ###          ###          ####           ###            ####            ####             ####              ####               #####     
         ####           ####          ####          ###         ###         ###         ###        ##        ###       ###       ##       ##       ##      ##      ##      ##     ##     ##     ##     ##    ##     #     #    ##    #    ##   ##    #   ##   #    #   #   ##   #   #   #      #   #  #   #  #  #              #  #  #    #    #      # #                 # #    # #  #  #  #  #   #   #     ##              #    #     #       #   ##     ##  #   #   ###   # #  #####  #   #   ########      #     #   #  # #   ## #   # #    #    ##       # #    # #   ### ##   ###########################################################    ##  # # # #    #   ##           #    #  #  # # # # #    #   #   #     ##              ##      #    #   #   #  #     #  #    #    # #                     # #    # #    #    #  #       #  #  #  #  #      #  #   #  #   #   #   #   #   #   #   #   ##   #    #    #    #    #    #    ##    ##    ##    ##    ##     ##     #      #      ##     ##      ##      ##       ##       ##       ##        ##        ##        ###        ###         ###         ###          ###          ###           ####           ####            ####            #####             #####              ####
   ###           ####          ###          ###          ###         ###        ###        ###       ###       ###       ##       ##       ##      ##      ##      ##     ##      #      #     ##     #     #     #     #    ##    #    #    #    #    #   ##   #   #    #   #   #      #   #      #  #   #  #  #  #  #  #  #    #  # #  # #    #        # # # # # # #    # #    #  #  #  #  #   #   ##     ##            ##    #             #  #           #         ###   # #  ##  ##  # # #    ##    ###      ##   #      #  #     #            #   #       #      #       # # #############################################################    ##   # #         #   #      ##      ##        # # # #    #  #   #    ##                    ##     #    #   #  #   #  #    #  #    # #          # # #        # #      #    #    #  #    #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #   ##   #   ##   #    #    #    ##    #    ##    #     #     #     ##     #     ##      #      ##     ##      ##      ##       ##       ##       ##       ###       ###        ###        ###        ###         ###          ###          ####          ####           ####           ####             ####             ####             
           ###          ####         ###          ###         ##         ###        ##        ##        ##       ###      ###      ##       ##      ##     ##      ##     ##     ##     #     ##    ##    ##    ##    #    ##    #    #    #    #   #    #   #    #   #   #   #      #   #  #   #  #  #      #  #       #  #  # #  #    # #    # # #               # #    # #  #           #   #   ##     ##            ##    #   #  # # # #  #  #         #  #   #  ##  ##  # #  #     #  #   #   ##          ##    ##  #   #     # # #  #    # # #       #    #      #  # ###  #   ##########################################################  # #       #  #  #       #   #            #   #     #       #        #   #      ###          ###      #    ##   #   #  #  #  #  #    #    #      # # # # # # # #      # #    # #    #  #    #  #                 #  #  #      #   #  #   #   #   #   #   #   #    #   #    #    #   ##   ##    #    #     #    ##    ##    ##     #     ##     ##     ##     ##      ##      ##      ##      ###      ##       ###       ##        ##        ###        ###         ##         ####         ###          ###           ###           ####           ####             ####             ####       
    ####          ###          ###         ###         ###        ###        ##        ##        ##       ##       ##       ##      ##      ##      ##      #      ##     #      #     ##    ##    ##    ##    #    ##    #    #    #    #   ##   #   ##   #   #   #   #   #   #  #   #  #   #  #  #              #  #  #    #    #    # #      # # # # # # # # #    # #  # #  #  #  #      #    #     ##              ##    #     #         #   ##      #   #   #  #      #  #           #     #  #               ##   #   #       ###             #    # #        #   #  #  #  #  ###########################################################  #  #   #  #     #  #       #   #            #   #  #    # # #    #  #   #    ##                      ##    ##   #   #   #  #  #  #    #  # #    # # #             # # #      #    # #    #  #    #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #   #   #    #   #    #    #    #    #    #    ##    #     #     #     #     ##     #     ##     ##      ##     ##      ##      ##       ##      ###       ##       ###       ###       ###        ###        ###         ###          ###          ###          ####          ####           ####            ####             ####  
##          ###         ###          ##         ###        ###        ##        ###       ##       ###      ###      ##      ##      ##      ##      #      ##     #      #     ##    ##    ##    ##    #     #    #    #    #    #    #   #    #   #   #    #   #      #   #   #  #      #  #  #           #  #  #    #  #    # #    # #      # # # # # #      # #    #       #      #   #   #     ##                ##    #  #  #       #  #   ##    ##   #     #         #      #    ##  #   #  #   ##        ##    #     #    #    ##   #     # #   #  #      # #     #         ################################################## ##########       #                     #  #              ##  #  #    # #    #  #  #   #     ##                 ##     ##    #   #   #  #  #  #  #    #    # #      # # # # # #        # #    # #    #    #  #    #  #  #  #  #  #  #      #  #   #  #   #      #   #   #   #    #   #   #    #    #   ##   ##    #    #    ##    #     #     #     #     ##     #      #      #      ##     ##      ##      ##       ##      ###       ##       ##        ##        ###        ###        ###         ###         ###          ###          ####          ####           ####           ####             #
      ###         ###         ###         ###        ###       ###        ##       ###       ##       ##      ##       ##      ##     ##      ##     ##     ##     #     ##     #     #     #    ##    #    ##   ##    #   ##   #    #   ##   #   #   #   #   #   #   #  #   #      #  #  #                 #  #    #  #    # #    # #          # #          # #    #  #           #   #   #    ##                    #    #  #  #       #  #    ##   ##   #        #     #      #    #       # # #   #              ##  # #  #    # # #     ####   #    #   ##  #  # #   # ##      ################################################ # #### ########  # ##   #          #  # # #  #   ##       ##    #  #    # # # #  #  #  #   ##     ##              ##      ##   ##   #   #  #  #  #  #  #    #      # #                   # #      #    # #  #    #  #    #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   #   #   #   ##   #    #   #    #    #    ##    #    #     #    ##    ##     #     ##     #     ##     ##      ##     ##      ##      ##      ###      ##       ###       ##       ###        ##        ###        ###         ###         ###          ###          ###           ###           ####            ###         
###          ###        ###         ###        ##        ###       ###       ##       ###      ##       ##      ##      ##      ##     ##      #     ##     ##     #     ##    ##    ##    #    ##    #    #    #    #    #    #   #    #   #   #   #   #   #   #  #   #      #  #      #  #  #  #  #       #  #    #    # #    # #          # #          # #    #  #    #      #  #    #    #       ##### #####      #   #     #       #  #   ###    ##     # #       #    #     #        #  #   #  #   #          ##  #     #     #  #  #      # #      # #  ###   # #   #     ############  #####################################   ## # #          #          #     #   #     #  #     ######    ##  #  #         #    #   #   ##     ###           ###      ##    #   #   #   #  #  #  #    #    #      # # #           # # # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #  #   #   #  #   #   #   #   #   #   ##   #   #    #    #    #    #    #    #     #    ##    ##    ##    ##     #     ##     ##     ##     ##      ##      ##      ##      ##       ##       ##       ##        ##        ##        ###        ###         ###         ###         ###          ####          ###           ####           ####    
       ###         ###        ###        ###       ###       ###       ##       ##       ##       ##      ##      ##      #      ##     ##     ##     ##    ##     #     #     #     #    #     #    #    #    #    #   ##   #   ##   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #    #    #    #    # # #      # # # # #        # #    #    #  #  #  #   #   #    #     ##               ##    #   #  #         #  #   #       ##     # #  #        #  # #  #       #        #  #   ###    ###   #     #         ##        #  ####  # #  ####                ######### #####################################   #    #  ##  #    #    #  # #   #####      # #     #              #   #    # #   # #  #  #  #    #     ###            ###      #    ##   #   #  #           #  #    # #    # # # # # # # # # # #      # #    #    #    #    #  #  #  #        #  #  #  #      #  #   #   #  #   #   #   #   #   #    #   #    #   #    #    #    #    #    ##    #     #    ##    ##     #     ##     #     ##     ##      #      ##      ##      ##      ##       ##       ##       ###       ##        ##        ###        ###        ###         ###          ###         ####          ###           ####           ###
  ###        ###         ##        ###        ##        ##       ##       ##       ##       ##      ##      ##     ##      ##     ##     ##     #     ##     #     #     #    ##    #    ##    #    #    #    #   ##   #    #   #   #   #   #   #   #   #      #      #  #      #  #  #  #  #    #  #  #    #    #      #        # # # # # # # #      # #  # #  #  #  #  #  #   #   ##    ##        ######       ##   #   #    # # # #  #   #          #           #      #         #      #   # # # #   #    ######    #  # #  #              # # #         #  #     ##   #     ########    ## ### ######################### ######      # ###  ## #   # ##  #  # #  ##   ##   # # #     #              #        # # # # #  #  #  #   ##     ##              ###      #    ##   #   #  #           #  #    # #      # # # #     # # # # #    # #    # #    #  #    #  #    #  #  #  #  #  #   #  #  #   #  #   #  #   #   #   #   #   #   #    #   #    #   #    #    #    #    ##    #    ##    #     #     #     #     ##     #      #      #      ##     ##      ##      ##      ##       ##       ##       ##        ##        ##        ###        ##         ###         ###         ###         ####          ###           ###          
        ###        ###        ###       ###       ##       ###       ##      ##       ##      ##      ##      #      ##     ##     ##     #     ##     #     #     #    ##    #     #    #    #    #    #    #   #    #   #   #    #   #   #  #   #   #      #      #  #  #              #  #  #    #  #    #    # #      # # #           # # # #    #    #    #  #  #      #   #    ##     ##              ##     #   #  #           #   #                  #  #  ##    #   # # #  #       #     # #  #  #             #  # # #  ##      ##     #  #    ##        ######         #  # ##  ##   # #  # #################    ##  ##        # #          # #    #       #        #        #  #     #####     #   #  # #       #    #   #   #     ##                  ##     ##    #   #   #  #   #  #    #  #    # #    # # #             # # #      # #    #    #    #    #  #  #  #  #     #  #  #  #      #  #   #  #   #   #   #   #   #   #   #   ##   #    #   #    #    #    #    ##    #    ##    #     #     #     #     ##     #      #      #      ##     ##      ##      ##      ##       ##       ##       ##       ###       ###       ###        ###        ###         ###         ###         ###          ####          ####     
   ###        ###        ##        ##        ##       ##       ##       ##      ##      ##      ##      ##     ##     ##     ##     ##     #     #     #     #     #    ##    #    #    ##   ##   #    #    #   #   ##   #   #   #   #   #   #  #   #   #  #      #  #  #  #  #  #  #  #  #    #  #    #    # #    # #          # # #        # #    # #  #       #      #   #   ##    ##       ########       ##   #   #  # #     # #  #    ##     ##   #  # #     ##   ##   # # #  #        #     # #  #  #            #     #     #   #   #  #     #####   # #     #     #    #    # #         ##      ################# #     #  #    ##    #  ## #   ##   ####  # #  #     ##  #     #  #   ##      ##    #     #    # #    #  #  #   #    ##                      ##     ##   #    #  #   #  #  #  #    #    #    # # #                   # # #    # #    #    #    #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #      #   #   #    #   #   #    #   #    #    #    #    #    #    ##    #     #    ##    ##     #     ##     #     ##     ##      #      ##      ##      ##      ##      ##       ##       ##        ##       ###        ##        ###        ###        ###         ###          ###          ###          #### 
#        ###        ##        ##       ###       ##       ##      ###      ##      ##      ##     ##      ##     ##     #     ##     ##    ##    ##    ##    ##    #    ##    #    #    #    #   ##   #    #   #   #    #   #   #   #  #   #   #  #   #  #      #  #  #  #  #  #  #  #    #  #    #    #    # #      # # # # #   # # # # #    # #    #  #           #       #   ##     ##                 ##    #   #  #  # # # # #  #   #            #  #   # #   ##    #   #   #  #          #    # #  #  #            #     #    #  #  #  # #     #####   #       #  #   ##     ###    #    #         ###############   ##  #           ##     #    #    #              ##   #   #  #    #  ##            #   #     #       # #  #  #   #   ##      #####    #####       ##    ##   #   #   #  #        #  #    #    # #        # # # # # #        # #      #    #    #    #  #       #  #  #  #  #      #  #  #   #  #   #  #   #   #   #   #   #   #   #    #   #    #    #   ##   ##   ##    #    #     #    ##    ##    ##    ##     #     ##     ##     ##     ##     ##      ##      ##      ##       ##      ###      ###       ##       ###        ##        ###        ###        ###         ###         ###          ###          #
     ##        ##        ##       ###       ##       ##      ##       ##      ##     ##      ##     ##     ##     ##     ##     #     #     #     #     #    ##    #    #    ##   ##   #    #    #   #    #   #   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #    #  # #  #    # #    # #          # # # #        # #    # #  #           #  #   #   #    ##      ###          ###     #   #   #    # # # #     #   ##      ##   #    #  #  ##     ##  #     #   ######   #  #   # #   #             #  # # # #    #       #   ######   #    # # # #          #        #  # #     ##################  #  ##           # # #   # #      # #     #      #     #   #     #  #   ###     ##    #   #    # # # # #  #  #  #    #    ###                 ###     ##    #   #   #   #  #  #  #  #    #    #      # # #             # # #      # #    # #  # #  #    #  #       #  #  #  #  #      #  #      #  #   #   #  #   #   #   #   #    #   #   #    #   #    #    #    #    #    ##    #    ##    #     #     #     #     ##     #     ##     ##     ##      ##     ##      ##      ###      ##       ##      ###       ##       ###       ###        ##        ###         ##         ###         ###          ###       
###       ###       ###       ##       ##       ##      ##       ##      ##     ##      ##     ##     ##     ##     #     ##     #     #     #    ##    #    ##    #    #    #    #    #   ##   #   ##   #   #   #   #   #   #   #      #   #  #      #  #  #  #  #  #  #  #  #  #    #    #  # #    # #    # # #                 # # #    #    #    #  #  #      #   #    #    ##        #########       #    #        # #   # #  #   #             #  #     #  #         #  # # #   #       ##  #       #  #    ######    #  #    #         #     ##    ##   #  #  #  #         #         #   # #   ####################     ## ##       ##   # # ##   #               #  #        #  # # #     #      ##      ##  #     # # # # #        #  ##   ##       ###########        ##    ##   #    #  #   #  #  #  #    #  # #    # #        # # # # # #        # #    # #    #    #  # #  #  #       #  #  #  #      #  #  #   #  #   #  #   #   #      #   #    #   #   #   ##   #    #   ##   #    #    ##    #    #    ##    ##    #     #     ##    ##     ##     #      #      ##     ##      ##     ##       ##      ##      ###      ###       ##       ###       ###       ###        ###        ###        ###         ###          ###   
      ##        ##       ##       ##       ##      ###      ##      ##     ##      ##     ##     ##     ##     #     ##    ##     #    ##    ##    #    ##    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #      #   #  #      #  #  #                 #  #  #    #    #    #    # #      # # # # # # # # # # #      #    #    #  #  #  #  #   #   #    #     ##                     ##   ##  #     #       # #  #   ##         ##     # # #  #           #       #     ##     #  #     #  #   ##      ##   #  #  # # #    #     ##       ##   #   #   ###          #   # #      ##   #################    #                #  # #      #       ####      #   ####      #   #     #             #   #  #  # #     # #  #  #  #    #     ##                  ##      #    ##   #   #      #  #  #  #    #    # #    # # #                 # # #    # #    # #  # #  #    #  #    #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #    #   ##   ##    #    #    ##    #    ##    ##    ##    ##     #     ##     ##     #      ##     ##      ##     ##      ##       ##      ##       ##       ###       ##        ##        ##        ###        ###        ###         ###         ###
  ##       ###       ##       ##      ##       ##      ##      ##      #      ##     ##     ##     ##     #     ##    ##     #    ##    ##    #    ##    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #       #  #    #    #    #    # #        # # # # # # # # #      #    # #  #              #   #   #    #     ##                   ##    #   #     #    # #    #  #    ##      ##   #  # # #      ##   ##   #     #  ##        #     # # #  #  ##           #   #  # #  #    #   #            ##   ##             #   ##    #      #    #################  #  ##         # #     #       #    # #         #  #        #          #   #           ##   #     #           #  #  #   #    #       #####    #####       ##     #   ##   #  #   #  #  #  #    #  #    # #      # # # # # # # # # # #      # #    #    # #  #    #  #    #  #  #  #  #  #  #  #  #   #  #      #      #   #   #   #   #   #   #   #   #    #   #    #    #    #   ##    #    #    ##    #    ##    ##    ##    ##     #     ##     #      #      ##     ##     ##      ##      ##      ###      ##       ##       ##       ###       ##        ##        ###        ###        ###         ###        
       ##       ##       ##       ##      ##      ##      ##      ##     ##      #      #     ##     ##    ##     #     #     #    ##    #    ##    #    #    #    #    #   ##   #    #   #   #   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  # #  # #  # #    # #        # # # # # # #        # #    #    #  #  #  #  #      #    #    #     ###                ###    #   #   #    # #   # #  #  ##    ######     #  # # # #  ##         #  #   #      ######    #  # # #     #    #######    #   #  #  #  #   #     ######      ##      #      # #  #  #  #          ################## #  # #    ##     #  # #   #    #       #      #   #  ##     #   # #   #  #   #           #    #  #    # # # #    #  #  #   ##    ##                       ##     #    #   #   #   #  #  #  #  #  #    #      # #      # # # # # # #        # #      #    # #  #    #    #  #  #  #              #  #  #      #  #   #  #   #   #   #  #   #   ##   #   #   #    #   #    #    #   ##   ##    #    #    ##    #    ##    ##    ##    ##    ##     ##     #     ##     ##      ##     ##      ##      ##      ##      ###      ##       ##       ###       ##        ##        ###        ###        ###        ###     
   ##       ##       ##       ##      ##      ##      ##     ##      ##     ##     ##     #     ##     #     #     #     #     #    ##    #    #    #    #    #    #    #   #    #   #   #    #   #   #   #      #   #      #      #  #      #  #  #  #  #  #    #  #  #    #    #    # #    # #        # # # # # # #      # #    # #  #    #  #  #  #   #   #   #    ##     ###               ###    ##   #  #  #    # #    #  #  #       ##      #  #            ######    # #   #  #               # # # #  #   #           ##   #      #   #    ##          ###       ##  #       ###             ################# # #  # #           #             # #              # # #   ##   ##     # # #  #   #            #   #     #    # #    #     #  #    #     ##                  ###     ##    #   ##      #      #  #    #  #    #      # #        # # # #          # #      #    # #    #  #    #  #    #  #  #  #  #  #  #      #  #      #      #   #      #   #   #   #   #    #   #   ##   #    #   ##   ##   ##   ##    #    #    ##    ##    #     #     ##    ##     #     ##     ##     ##     ##      ##     ##      ##      ##       ##      ###      ###       ##       ##        ##        ###        ##         ##         ### 
#       ##       ##      ##       ##      ##     ##      ##     ##     ##     ##     ##     #     ##    ##    ##    ##    #     #    #    ##   ##    #   ##   #    #    #   #    #   #   #   #   #   #   #   #  #   #      #  #   #  #  #  #           #  #  #  #    #  # #  # #    #    # # #      # # # # # # # #      # #    # #  #    #  #  #   #  #   #   ##    #      ##                ##     #   #   #    #       # #  #   #              #  #  # #     #          #  #     #  #          #   #       #  #    ##     ###    #   #    #   ##                       #   #          # #  #      #   ##  ########      ###      ##      #   #  # #  #   #  #           #   #   #    ##     #   #     #              #   #     #         # #  #  #   #    #      ###            ###       #     #    #   #      #  #  #  #  #    #    #    # # #                       # # #    # #    #    #    #  #    #  #  #  #           #  #  #  #   #  #      #   #  #   #   #   #   #   #   #   #    #   #    #   ##   #    #    #    #    ##    #    ##    #     #     #     #     #     ##     ##     #      #      ##     ##      ##      ##      ##      ##       ##      ###      ###       ##        ##        ##        ###        ###        #
    ##       ##      ##       ##     ##      ##      ##     ##     ##     ##     #     ##     #     #     #     #    ##    #    ##    #    #    #    #    #   ##   #    #   #   #   ##   #   #   #  #   #   #      #      #  #      #  #  #  #  #  #  #  #    #  #    #    #    #      # #      # # # # # # # # #      # #    # #  #    #  #  #   #  #   #   ##    #      ##                ###     #   #        # #   # #        ##             #     #   #     ##      ##  #  # #     #         #   #    #    #  ##      ###      ##    #    #     ###                  #   #  #   ####   #  #  #      ## # #######  # #  #  ##      #      #     #       #  #  #  #   #         #      #   #       #  #     #######     #        #         #    #   #   #    #       ######  ######        #     #    #   #   #      #  #  #  #    #    #      # #                         # #      #    # #  # #  #    #  #    #  #  #  #  #  #  #  #      #  #      #   #  #   #   #      #   #    #   #   #   #    #   #    #    #    #    #    #    #    ##    #    ##    ##    ##    ##    ##     #     ##     ##     ##     ##     ##      ##      ##      ##      ##       ##      ###      ###       ##       ###       ###        ##        ###      
##       ##      ##       ##     ##      ##      #      ##     ##     #     ##     ##    ##    ##    ##    ##    #     #    #    ##   ##    #   ##   #    #    #   #    #   #   #   #   #   #   #   #      #   #  #   #  #  #      #  #  #  #  #  #    #  #  #    #    #    #    # #      # # # # #       # # # #      # #  # #  #    #  #  #   #  #   #   ##    #     ###                  ##    ##   #  #  #  # # # # #     #  ##              #  #  # #    #    ######   #  #     #   #        ##     #     #  #   #              ##     #     ##           #####      #   #  #    ##           ###     # ######### ####   #         #  ##    #         #    #           #      #        #   # # # #  #    #         ##    #  #  #           #        #   #    ##        ##########         ##    ##   ##   #   #  #   #  #  #    #  #    #      # #        # # # # #        # # #    # #    #    #    #    #  #  #       #  #  #  #      #  #  #      #      #   #  #   #   #   #   #   #   #   ##   #   #    #   ##   #    #    #    #    ##    #    ##    #     #    ##    ##     #     ##     #     ##     ##     ##      #      ##      ##      ##      ##      ###      ##       ##       ###       ##        ##        ###        ##   
     ##       ##      ##      #      ##      #      ##     ##     #     ##     #     ##    ##    ##    #     #    ##    #    #    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #  #   #      #  #   #  #  #      #  #  #  #       #  #  #    #    #    #    # #      # # #                 # # #      #    #    #  #  #  #  #   #   #   #    ##     ##                    ##     #   #  #  #  # # # # #        #      ####     ##  #       #  #            #  # # #     ##        #   #  # # #    #   ##              ##     ##       ###          ##     #  #   #        # #        #       ###### #  ##     # #  #   #   ##  #       # #          #      #     #    ####    #    #    #   #              #   #     #    #      #        #   #    ##         #######          ##     #    #    #   #  #      #       #  #    #      # #      # # # # # # # #        # #    # #    #    #    #  #    #  #  #                 #  #  #      #  #   #  #   #   #  #   #   #   #   #    #   #   #    #   #    #    #   ##   ##   ##    #    #     #    ##    #     #     #     ##    ##     #     ##     ##     ##      #      ##      ##      ##      ##      ##       ##       ##       ##       ###       ###       ###        ##
  ##      ##      ##      ##     ##      #      ##     ##     #     ##     #     #     ##    ##    #     #    #    ##    #    #    #    #    #   ##   #    #   #   #    #   #   #   #   #  #   #   #  #   #  #   #  #  #            #          #  #  #    #    #    #    # #    # #          # # # # #        # #    # #  #    #  #  #  #  #   #  #    #    #     ##                       ##    #   #        # #   # #    #   #     #######     #  #       #   #          #     # #  #  ##         #   #    # #     #   #               ###      ###        ###      ##   #      #    ##   # #          #      ###  #  ### # # ####   #      ##       #   #    #  #  #    #         #        #  #       #  #   ##        ##    #  #  #  # # # # #    #  #   #   #    ##         #######          ##     #    #    #      #      #  #    #  #    #    # #      # # # # # # # # # # #      # #    # #    #    #    #  #    #  #  #  #  #     #  #  #  #  #   #  #      #   #  #   #   #   #   #   #   #   #   #   ##   #   ##   #    #    #    #    #    #    ##    #    ##    #     #     #     ##    ##     ##     #     ##     ##      #      ##      ##     ##      ###      ##      ###      ##       ###       ##       ###       ###       
      ##      ##      ##      #      ##     ##     ##     #     ##     #     #     ##    #     #    ##    #    ##    #    #    #    #    #   #    #   ##   #   #   #    #   #   #  #   #   #   #  #   #  #      #  #  #         #          #  #  #    #  # #  # #  # #    # #      # # # # # # # # # # #      # #    #    #       #      #  #   #   #    #     ##        ###########       ##    #   #  #    #       # #  #   #   ###      ##    #  #     #     #         ##  #       #  #           #   #    # #  #  #   #                  ###        ##        #     #      #  #   ##  ##  #  #  # # # #      ###          #    #                   # #  ## #      ##   ##  # # #   ######    #    #    #   #               #   #  #  #         # #  #  #  #   ##    ##        #########         ##     #    #    #   #  #   #  #  #  #    #  # #    #      # # #               # # # #      # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    ##    #    ##    ##    #     #     ##    ##     #     ##     ##     ##     ##      ##     ##      ##      ##      ##       ##       ##       ##       ##       ###       ###    
   ##      ##     ##      ##     ##     ##     ##     ##    ##     #     ##    ##    ##    #    ##    #    ##    #    #    #    #    #   #    #   #    #   #   #   #    #  #   #   #   #   #  #   #  #      #  #         #  #  #  #       #  #    #  #    #    #    # #      # # #                     # #      #    #    #  #  #  #  #   #  #   #    #     #       ###           ####     ##   #   #  #  #           #     #   ##           #   #  #     #     #         #   #       #  #             #  #  # # #         #        ##             ##        ##     #    #  #  #  #  #        #   ##          # # # #            # #   ##   ########   # #  ####      ##     #  # #  #           #  # # # #  #   ##           ##   #        # # # # #    #  #   #   #    ##       ############         #     ##   ##   #   #      #  #  #  #  #    #    #      # #          # # #          # # #    # #    # #  # #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #   ##   #    #    #    #    #    ##    #    ##    ##    #     #     ##    ##     #     ##     ##     ##     ##     ##      ##      ##      ##      ##      ##       ##       ##       ##       ###       ### 
#      ##      ##     ##      #      #     ##     ##     #     ##    ##    ##    ##    #     #    #    ##    #    #    #    #    #   #    #   #    #   #   #   ##   #   #  #   #   #   #  #   #  #   #  #  #      #  #  #  #  #  #       #  #    #  # #  # #    #    # # #      # # # # # # # # # #      # #    #    #       #  #      #       #   #    ##     ###                   ##     #   #   #  #    # # # #    #  #   #               #   #         #   #         ##  #  # #    #    ### ####    #  # #   # #  #   #     ####     #####          ##      #    #  #     #  #     #       #  ## ## #   #  #  ##  ## ## #    #                 #    #  ####      #       #  # #  #          #  #       #  #    ##       ##    #   #  #      # #    #        #   #    ##      #####      #####       ##     #    #   #   #   #  #        #  #  #    #    # #      # # # # # # # # # # # #      # #    # #    #    #    #  #    #  #  #  #           #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #   ##   #    #    #    #    #    ##    #    ##    #     #     #     #     ##    ##     ##     #      #      ##     ##     ##      ##      ##      ##      ###      ##       ##       ##       ###       #
    ##      #      ##     ##     ##     ##     #     ##    ##     #     #    ##    ##    #    ##    #    #    #    #    #    #   ##   #   ##   #   #   #    #   #   #   #  #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #       #  #    #    #    #    # #      # #                       # # #    #    #    #  #        #  #   #   #   #    #     ##            ##           ##    #   #        #         # #  #   #    ###    ###    #  #  # # #  #   #          #     # # #  #   #         #   #  #       #     #    ##                 ###       ##    #   #  #  #    # #     #       #   #    # ####    # # #  ##            #########     #  #    #  # #   ###      # #  ##        #     # # #     #     #######     ##  #     #           #        #   #    #      ###             ####      ##     #    #   #   #  #   #  #  #  #    #  #    # #    # # #                       # # #    # #    # #  # #  #    #    #  #  #  #                 #  #  #  #   #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #    #   #    #    #    #    #    #    ##    #    ##    #     #     #     #     #     ##     #     ##     ##     ##     ##      ##     ##      ##      ##       ##      ##       ##       ##       ###     
 ##     ##      #      #      #     ##     ##    ##     #     #     #     #     #    #     #    #    #    #    #    #    #    #   #    #   #   #    #   #   #   #   #   #  #   #   #  #   #  #  #   #  #  #  #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # # # # # # # # # # # #      # #    #  # #  #  #  #  #  #   #  #    #   ##    ##       ####         ####      #    #   #  #  #    # # # #    #   #   ##           ##   #  # #   #     #           ##  #       #  #              #  #  # # # #  #  #   ##        ######          ###    #    #  #  # #        # # #  #       #       ##               # #      #            #     #      #     #      #  #   #  #        ##  #  # # #  #   #      ###       #   #  #  # #         #        #   #   ##     ##                   ###      #     #   ##   #      #  #        #  #  #    # #    # #      # # # # # # # # # # #      # #    # #    #    #    #    #  #  #       #  #  #  #  #      #  #  #      #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   ##   #    #    #    #    #    #    #    ##    #     #    ##    ##    ##    ##     #     ##     ##     #      #      ##     ##      ##     ##      ##       ##      ##       ##       ##       ##   
     ##     ##     ##     ##     ##     #     ##    ##    ##    ##    ##    #    ##    #    ##   ##    #    #   ##   #    #   ##   #   #    #   #   #   #   #   #   #   #  #   #  #   #  #   #  #  #         #  #  #       #  #  #    #  #    #    #    # #    # # #        # # # # # #        # # #    #    #    #  #  #  #  #   #  #   #    #    ##     ###                    ##     #    #  #  #  #           #    #   #      ######     #   #    #    #  #             #     # # #  #   ##       ##   #  #    #    #  #   #    ###              ###      #   #   #  #           # #    # # #        # ## # #  #  ##    # # #  #  #   #       #         ####          ###      # #  #          #  #  # #    #   #               ##   #  #  # #         #    #      #   ##    ##                        ###     ##    #   #    #  #   #  #  #  #  #  #    #    # #    # #                         # # #      #      #    #    #    #  #  #    #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #   #  #   #   #   ##   #   #   #    #   #    #    #   ##   ##   ##   ##    #    #     #    ##    #     #     #     #     ##     #     ##     ##     ##     ##     ##      ##      ##      ##      ##      ##       ##      ###       ##
  ##     ##     ##     ##     #     ##     #     #     #     #     #    ##    #    ##    #    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #   #   #   #  #   #  #   #  #  #   #  #  #  #  #  #  #  #  #       #  #    #    #    #      #      # # #                     # # #    # #    #  #    #  #  #  #      #   #   #    ##    ##        #############       ##    #   #  #  #  # #       #    #   #   ##           ##   #  #       #  #    #######    #  #       #  #              #     #       #     #   ##         ####          #    #   #  #  # # # #    #      #    #   ##  #   #     ####    #   #  #  #  #   ######   # #  #      #  #  #        #       #           #     # #    #   #               ##   #  #  #           # #  #  #   #   #    ##       #############         ##     #    #   ##      #   #  #  #  #  #    #    #    # #      # # #             # # # #      # #    # #    #    #    #  #    #  #  #  #              #  #  #  #      #  #   #  #   #   #  #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #    #    #    ##    #    #     #    ##    ##    ##    ##     #     ##     #     ##     ##     ##      #      ##      ##     ##       ##      ##      ###      ##       
#     ##     ##     ##    ##     ##    ##     #     #     #    ##    #    ##    #    ##   ##   ##   ##   #    #    #   #    #   #   #    #   #   #   #   #   #  #   #   #  #   #  #      #  #  #                    #  #  #    #  #    #    #    #      # #      # # # #           # # # #      #    # #  #    #  #  #  #  #   #   #   #   ##    #      ###                  ###     #    #  #     #  # # # # # #  #  #   #     ########     #  #  # # # #  #   ##        #   #  #     #  #   #         ##   #  #       # #  #   #     ##              ###    #         #       #  #  ##           #     ## ##  #  #        #            #    ##    #      #   ##  # #  #       #       #    #####    #  # # # #  #   #       ##       #   #     #    # # #    #        #   #    #      ###               ####      ##    ##   #    #   #  #      #  #  #    #  #    # #    # #      # # # # # # # # #        # # #    # #    #    #    #  #    #  #       #  #  #  #  #  #      #  #  #      #      #   #  #   #   #   #   #   #   #   #   #    #   #    #   #    #    #   ##   ##    #    #    #     #    ##    #     #     #     #     #     ##     #      #     ##     ##      #      ##      ##     ##      ##       ##      ##       ##    
   ##     ##     #     ##     #     ##    ##    ##    ##    #     #    #     #    #    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #   #   #      #   #  #   #  #  #      #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    #      # #      # # # # # # # # # # #      # #    #    #    #  #  #  #  #  #   #   #   ##   ##     ##        ###########        ##    #   #   #  #    # # # # #  #     #   ##             #   #     # #    #   #            #     #   # #  #    ########    #     #       #  #  #   ##      #########       ##   #  #  # #   #     #          #   #  #     ##    #   #    #   #   ###  #            # # #   ####        #      #   # #     ##      ##     #     #     #     #######     ##   #  #    # # # # #    #  #  #   #   ##    ##                        ###     ##    #    #   #   #  #      #  #       #    #    #      # #                         # # #      # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #  #      #  #      #   #  #   #   #  #   #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    ##    #    #     #    ##    #     #     #     ##    ##     ##     #     ##     ##      #      ##     ##      ##      ##      ##       ##      ##  
##     ##     #     ##     #     ##    ##    ##    #     #    ##    #    ##   ##    #    #    #   ##   #    #   #    #   #   ##   #   #   #   #   #   #  #   #   #  #   #  #      #  #  #      #  #  #  #       #  #  #    #  #    #    # #    #      # #        # # # # # # # #        # #    #    #    #  #  #     #  #   #  #   ##   #     #      ###                   ##     ##   #   #  #  #    # # # #    #  #   #    ##       ###    #  #    #    #  #    ###  ###    #  # #   #     #              #     #         #  #   #    #                 #    #   #  # # # #  #  ##      #  # #    ##      # ##          # #    #    #   #         # # #    ##   #      #      #  #   #  #           #     # # #  #  #     ##    ####    #   #  #  #           #    #  #   #   #    ##       #####      #####        ##    ##    #   #   #   #      #  #  #    #  #    #    # #    # # #                     # # #      # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #      #  #  #   #  #      #   #  #   #   #   #   #   #   #   #   #    #   #   ##   #    #    #   ##   ##   ##    #    #    ##    #    ##    ##    ##    ##    ##     #     ##     #     ##     ##     ##      ##     ##      ##      ##      ##      ##       #
    ##     #     ##     #     #     ##    #     #     #    ##    #    #    #    ##   ##   #    #    #   ##   #   ##   #   #   #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # # #        # # # # # #          # #    # #  # #  #       #  #      #   #   #   #    #     ##        ##############       ##    #   #   #    #  # # # # #    #       #      #####      #                   ##          ##  #  #     #  #   #           #   #  #  # # #    #  #   #     ###        ###     #   #    # # #  #  ##     #    #   #      ##     ####  #   #   #  #  # ##   #   ##    # # #   ###   #     #       #     #  #   #      #              #  #    ##         ##    #   #  #    # # # # #    #  #      #    #      ##                     ###      #     #   ##   #   #  #   #  #  #  #    #  #    #    # #      # # # #           # # # # #      # #    # #    #    #  # #  #    #  #  #  #                 #  #  #  #   #  #      #      #   #   #  #   #   #   #   #   #    #   #   #    #   ##   #    #    #    #    #    #    #     #    #     #    ##    ##    ##    ##     #     ##     #     ##     ##     ##      #      ##      #      ##      ##       ##     
 ##     #     ##     #     #     ##    #     #    ##    #    ##    #    #    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #   #   #  #   #      #      #  #      #  #  #  #  #  #  #  #  #    #  #    #  #    #    # #    #      # # #          # # # #          # #    # #    #  #    #  #  #  #  #   #   #   #   ##    #      ##                       ##     #   #   #  #  #    # # # # #  #     #   ##              #   #  #    #    #  #    ########    #  #       #  #   ##        ##   #     #     # #  #  #    #       #####       ##   #    #   #     #      #  # #          #    ##  #  ##    #     #   ####      ## ##         #####   # #  #               #  #            #  #       #  #   #              ##   #   #  # #           #    #  #   #   #     #        ##############        ##     ##    #   #   #   #   #  #  #  #  #  #    #    #    # #      # # # # # # # # # # # # #      # #    # #    #    #    #    #  #       #  #  #  #  #  #  #  #  #      #  #  #   #  #   #      #   #   #   #   #   #   #   #   #   #    #   #    #   ##   #    #    #    #    #    ##    #    ##    #    ##    ##    ##    ##     #     ##     #     ##     ##     ##     ##      #      ##      ##      ##      ##   
     ##     #     #     ##    ##    #     #    ##    #    ##    #    #    #    #    #    #   ##   #   ##   #   #    #   #   #   #   #   #   #  #   #   #  #   #  #   #  #  #         #  #  #  #  #       #  #  #    #    #  # #  # #    # #    # # #            # #            # #      #    #    #  #           #  #   #   #   #    #     ##      ####             ###      ##    #   #  #  #    # #     # #  #  #  #    ##          ##    #  #  # # #    #   #            #   #    #    #  #    ##      ##    #  #    # #    #  #  #    ##               #    #  #       #  #        #         ##    #          # #         ##   #  ## #        #  # #  #     #  #   #   ####    #     #   #        ##  #  #     #  #  ##     #######     ##   #  #    #       # #    #  #      #    ##     ##                     ###      #     #    #   #   #   #  #  #  #  #  #  #    #    #    # #      # # # # # # # # # # # #      # #      #    # #    #    #  #    #  #       #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #   #   #   #   #   #   #    #   #   ##   #    #   ##   #    #    #    ##   ##    #    ##    #    ##    ##    ##    ##     #     #     ##     ##     ##     ##     ##     ##      ##     ##      ##      ## 
  ##     #     ##    ##    ##    #     #    ##    #    ##    #    #    #    #    #    #   #    #   #    #   #   #    #   #   #   #   #  #   #   #      #      #  #   #  #  #            #          #  #  #    #  #    #    #    #    # #      # #            # # #          # # #    # #    #  #    #  #  #  #  #   #   #   #   #    ##     ##          #########        ##     #   #   #  #    #           #  #  #   #    ###      ##     #  #  # # # #     #   ##      ##    #  # # # #     #    ##    ###    #     #       #    #   #     ##          ##    #  #    # #  #   #####      #### ###         # #  # # ## #       #       # #   ##    # #  #       #  # #  ##     ##  #   # #   ##     ##   #  #     #     #   ##          ##    #   #  #    # # # # #    #  #  #   #   #    ##       ################        ##     #    #    #   #   #  #      #  #       #  # #  # #    # #      # # # # # # # # # # #        # #    # #    # #  # #  #    #       #  #  #       #  #  #         #  #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   ##   #   #    #   #    #   ##   ##   #    #    ##    #    #    ##    #    ##    ##    ##    ##    ##     #     ##     #     ##     ##     ##      ##     ##      ##      #       
#     ##    ##    ##    ##    ##    #     #    #    ##    #    #    #    #    #   ##   #    #   #    #   #   #   #    #   #   #  #   #   #   #  #   #  #   #  #      #  #  #  #              #  #  #  #    #  #    #    #    #    # #      # #          # # # # # #        # #      #    #    #  #           #  #   #  #    #   ##    #      ###                     ###     #    #      #    #    # # #    #     #   #     ########     ##  #  #       #     #       #      #   #         #  #    ###    ##     #  #  # # # # #  #  #   #     ####  ####     #     #     #  #       #  #  ###     # #   #    # ##     #     ###   #  #  # #      #  # #   #####     #  #          #            #####     #  #       #  #   #                ##   #  #  #    # # # #    #        #   #   ##     ##                       ###      #     #    #   #   #      #  #  #  #  #  #    #    #      # #      # # # # # # # # # # #      # # #    # #    #    #    #    #  #    #  #  #  #              #  #  #  #      #  #      #   #  #   #   #  #   #   #   #   #   #    #   #   #    #   #    #    #   ##   #    #    ##    #    #    ##    #    ##    ##    #     #     ##    ##     #     ##     ##     ##     ##     ##     ##      ##      ##    
   ##     #     #     #    ##    ##    #    #     #    #    #    #    #    #   ##   #    #   #    #   #   #   #   #   #   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #        #  #  #  #  #    #  #    #    #    #    # #      # #        # # # # # # # #        # #      #    #    #  #  #  #  #  #      #   #   ##   ##    ##       ###               ###      #    #   #   #  #    # #     # #        #   #       ####      ##        # # #        ##           #   #  # #   #     #    ##     ##    #   #    # # #    #  #   ##      #####      #   #  # # #  #   ## ##      #  #     #   ## ######  #  # ###   ###    ##      ##  ##  #   #        #  # #  ##      #     #    #             #  #         #       ##         ##     #        #    # # #      #  #  #   #   #    ##      ####            ####       ##     #    #    #   #   #  #      #  #       #  # #  # #    # #      # # # # # # # # # # # #      # # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #  #   #   #   #   ##   #   #   #    #   #    #    #   ##   #    #    ##   ##    #    #     #    ##    #     #     #     #     ##    ##     ##     #     ##     ##      #      ##     ##      ##  
 #     #     #     #     #    ##    #    ##    #    #    #    #    #    #    #   #    #   #    #   #   #   #   #   #   #   #   #   #      #   #  #   #  #  #   #  #  #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # # #      # # # # # # # # # # #      # #    # #    #  #    #  #  #  #      #   #   #   #    ##     ##        ##############        #     #   #   #  #    #           # #  #       #                 #   #  #         #  #    ##       ##   #     # # #  #  #    ##       ##   #   #    # # #    #   #   #               ##   #         #            #     # ### ##          #   # #### #        ##       ####        ##     #  # # #   #####    #     #  #            #  #  # # #    #   #        #        #    #  #  #    # # # #    #        #  ##   #     ##          #######           ##     ##    #    #   #   #   #  #  #  #  #  #  #    #    #    # #      # # # # # #   # # # # # #        # #    # #    #    #    #    #  #       #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #   #  #   #   #   #    #   #   #   #    #   #    #    #   ##   #    #    #    ##    #    #    ##    #     #    ##    ##    ##     #     ##    ##     ##     ##     ##     ##     ##      #      ##
    ##    ##    ##    #     #    ##    #    #    #    #    #    #    #    #   #    #   #    #   #   #   #   ##   #  #   #   #   #      #   #  #   #  #  #   #  #  #  #  #        #  #  #  #  #    #  #    #    #    #    # #    # #      # # # # #         # # # # #      #    # #    #  #    #  #  #      #  #   #   #    #    ##     ###                          ##    ##   #   #  #  #    # # # # # #  #  #  #    #                #   #     # # # #  #  #     #######     #  #    #    #  #   ##          #    #  #    # # #    #   #   ##             #   #  #        #        #   #   #      #  # #        #      #  ##    ## ##       ##   #   #   ####   #     #          #  # # #  #            #   #         #       ##           ##    #   #  #    # # # # #    #  #  #  #   #    ##     ##                      ###      #     #    #   #   #   #      #  #  #  #    #  #    #    # #      # # # #               # # # #      # #    # #    #    #    #    #  #       #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #   #  #   #   #   #    #   #   #   #    #   #    #   ##   #    #    #    #    #    ##    #    #     #    ##    ##    ##    ##    ##    ##     ##    ##     ##     ##     ##     ##      ##     
  #     #     #    ##    #     #    #    #    ##   ##   ##   ##   #    #   ##   #   ##   #   #   #    #   #   #   #  #   #   #   #  #   #  #   #  #      #  #  #  #              #  #  #  #    #  #    #  # #  # #    #    # #      # # # #                   # # #      # #    #    #  #              #  #   #   #   #    #    ##      ##                       ##     #    #   #  #  #  #      # #    # #  #   #   ##               ##   #  #    # #    #   #      ###      #   #         #  #   #             #   #  #  # # # #    #   #   ##            #   #  #     #  #          #  ####        # #  #  # # #         #    #       #   ###   #   #   ###    # # #  #        #     #     #            #     # # # #  #   #     #########     #   #     #  # # # # # #    #  #  #   #   #    ##      ####             ####       ##     #    #    #   #   #  #      #  #       #  #    #    # #      # # #                     # # #      # #    # #    #    #    #    #  #       #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #   #   #  #   #   #   #   #    #   #   #    #   #    #   #    #    #    #    #    #    #    ##    #    ##    #     #     #     #     #     ##    ##     ##     #     ##     ##     ##      ##   
#    ##    ##    #    ##    #    ##    #    #    #    #    #   ##   #    #   #    #   #   #    #   #   #   #   #      #   #   #  #   #  #   #  #      #  #  #                    #  #  #  #    #  # #  #    #    # #    # #    # # #            # # #          # # #    # #    #    #  #              #  #   #   #   ##   ##    ##      ###                  ###      #    #   #   #  #    # #       # #  #     #   ##                ##   #  #         #  #   #              #     #       #     #                #   #    #     # #  #  #    #            #               #          #  #  #      #        #   #  ##   ## ## #  ####     ##   #      #    #       # #  #        #     #          ####     #  #    # #  #  #   #                #    #  #  #  # #         #    #  #  #   #    #    ##         ############         ##     ##    #    #   #   #   #  #  #        #  #  # #  #    # #    # # #            # #            # # #      # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   ##   #   #   ##   #   ##   #    #    #   ##   ##    #    #    #    ##    #     #    ##    ##    ##    ##    ##     #     ##     #      #     ##      #      ## 
   #     #    ##    #    ##    #    #    #    #    #    #    #   ##   #   ##   #   #    #   #   #   #   #   #   #      #   #      #      #  #   #  #  #         #  #  #  #       #  #  #    #  #    #    #    #    # #    # # #        # # # # # # # # # #      # # #    #    #    #  #           #  #      #   #    #    #     ##       ####             ###       #    #       #  #  #    # # # # #    #  #  #    #                 ##        #       #  #   #             ##     #         #   #    ###    ##     #  #  #         #     #   ##           ##   #    # #  #         #   #        ###  #  #           #                   #      #  #      ###      # #  #        #     #    #    ### ###    #  #         #       ##            ##   ##  #  #  #      #      # #  #  #      #    ##     ##                         ###     ##    ##   #    #   #  #   #  #  #  #  #  #  # #  #    # #    # #        # # # # # # # # # #      # # #    # #    # #    #    #  #    #  #    #  #  #  #              #  #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   ##   #   #    #   #    #   ##   #    #    #    #    ##    #    #    ##    #     #     #    ##    ##     #     ##    ##     ##     #      #      #      #
 #    ##    #    ##    #    #    ##    #    #   ##   #    #    #   #    #   #    #   #   #   #   #   #   #   #   #  #   #   #  #   #  #      #  #         #  #  #  #  #  #       #  #  #    #  # #  #    # #    #      # #      # # # #               # # # #    # #    # #  #    #  #           #  #   #  #   ##   #    ##     ##       ######      #####       ##    ##   #      #    #    # # # #    #  #       #      ######      ##        #     # #  #   ##            ##        # # #  #  #   ##           #    #  #  # # # # #  #  #    #            #   #  # # #      ####   # #       # #   #  # #  #      #      # #       # #   ####  #   #  ######   # # #  #        #   # # #  #   #       ##   #  #       #     #    ###       ###    #   #     #  # # # # # #    #  #  #   #   #    #      ##                     ###      ##     #    #   #   #   #   #  #  #  #  #  #  #    #    #    # #      # # # # #         # # # # #        # #    # #    #    #    #    #  #    #  #  #          #  #         #  #  #  #   #  #  #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   #    #   ##   #    #    #    #    #    #    #    ##    #    ##    ##    #     #     #     ##    ##     #     ##     ##     #      #     
    #     #    #    ##    #    #    #    #    #    #   ##   #    #   #    #   #   #   #   #   #   #   #   #   #   #  #   #      #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #  #    #    #    #    #      #      # # #            # # #          # # #    # #    #    #  #       #  #   #  #   #  #    #   #    ##     ##         #############         #     #   #   #     #  #      #      # #  #       #     ##########     #   #    #     # #  #   ##            ##   #    # # # #  #   #      ####      #   #  #         # #       #             #   #       #  ##    ##  #        # #       #  # #     ####       ###   #          #   #  #      #         #         #  #     #  ##           #     #       #  #  ##     #########     #   #   #    #           # #  #  #  #   #   #    ##      ###                ###       ##     #    ##   #   #   #   #  #  #  #  #  #  #    #    #    # #    # # #                         # # #      # #    #    # #  # #  #    #    #  #  #       #  #  #  #  #  #         #  #  #   #  #   #  #   #  #   #   #   #   #   #   #   #   #   #   #    #   #   ##   #    #    #   ##   ##   ##   ##    #    #    ##    #     #    ##    ##    ##    ##    ##     #     ##     ##     #      #   
  #    ##    #    #    ##   ##    #    #   ##   #    #    #   #    #   #   #    #   #   #   #   #   #      #   #   #  #   #  #   #  #      #  #  #  #  #        #  #  #  #  #    #  #    #  #    #    # #    #      # #        # # # # # # # # # # # #      # #    # #  # #  #    #  #  #  #      #      #    #   ##    #      ##          ##########         ##    ##   #   #  #  #  # #           #    #  #   ##    ###       ###    #   #  # #     # #  #   ##             #   #  #       # #   #   ##         ##    #  #  # #   # #     #   #              #     #   #  #           #  #    #       #     #          #   #     #  #  #     #      #         #  # #  #    ##     #  # #    #    ######     #  #         #  #   #      #####       #    #  #  #    # # # # #    #        #  #    #    ##       #####        #####        ##     ##    #    #   #   #      #  #  #  #  #  #    #  # #  # #    # # #      # # # # # # # # # #        # #      # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #      #  #   #      #   #   #  #   #   #   #   #   #    #   #   #    #   #    #   #    #    #    #    #    #    #    ##    #    ##    #     #    ##    ##    ##     #     #     ##     ##     #      # 
#    #    ##    #    #    #    #    #    #    #   ##   #    #   #   #    #   #   #   #   #   #   #   #   #  #   #   #  #   #  #  #   #  #  #         #  #  #  #       #  #  #    #  #    #  # #  # #    #      #      # # #                         # # #    # #    #    #    #  #  #  #  #  #   #  #   #    #   ##    #      ##           #######          ##     #    #   #  #  #    #           #    #  #   #    ##            ##    #  #  #         #  #   #               #   #    # # #        #                #   #  #  # # # #  #  #  #      #####     #     # #     ##    #      #     #  #  #            #   # #   ####  # #  #    #         ##   ##        #   ##   ##   #       #   #         ##        # # #  #  #   #                 #    #  #     #             #    #  #  #   #    #     ##        #############          ##     #     #    #   #   #      #  #        #  #  #    #    #    # #      # # # #               # # # #      # #      #    # #    #    #  #    #  #    #  #  #  #  #        #  #  #  #  #      #  #   #  #   #  #   #      #   #   #   #   #   #   #   #   ##   #   #    #   #    #    #   ##   #    #    ##   ##    #    #     #    ##    #     #    ##     #     #     ##    ##     ##     #     #
   #    #    ##    #    #    #    #    #   #    #    #   #    #   #   #   #    #   #   #   #  #   #   #   #  #   #      #  #   #  #  #   #  #  #  #  #  #  #  #  #  #    #  #  #    #    #    #    #    # #      # #        # # # # # # # # # #        # #    # #    #    #  #  #  #  #  #  #      #   #   ##   #     #      ##             ##             ##     #   ##  #   #  #    #           # #  #  #   #   ##               ##   #          #    #  #  ##     #####     ##  #  #       #     #   ##          #    #          #    #     #    ###    ###         # #  #          # # #       #  #  #   #    #  # # #   ###   # #  #     #  # #            #     #  #        ##  # #   #  #     ####     #  #  # # # #     #   #                ##   #   #  #    #         # #  #     #  #   #    #     ##          ########           ##      #    ##   ##   #   #   #  #  #           #  #  # #  #    # #      # #          # # # # #          # # #      # #    #    # #  # #  #    #  #    #  #  #       #  #  #  #         #  #  #      #  #   #  #   #  #   #   #   #      #   #   #    #   #   #   #    #   #    #   #    #    #    #    #    #    #    #    ##    #    ##    #     #     #     #     #     ##    ##     #     ##    
##    #    #    ##   ##   ##   ##   #    #    #   #    #   #   #    #   #   #   #   #   #   #   #      #   #  #   #  #   #  #      #  #  #  #                 #  #  #  #    #  #    #    #    #    # #    # #      # # #                       # # #      #    # #  # #  #       #  #      #  #   #   #   #    #     #      ##                            ##    ##   #   #   #  #    #             #  #  #  #    #      ######       #   #  #  # # # #    #   #    #########    ##  #  # # # #    #   #     #######     #   #  #           #  #    #           #   #  # #    ##       #  # #  ##  ##        #    #     #   ####   # #  #      #  # #  #       #        #    ####    #  # # #  #  ##         #   #  #         #  #    #                #    #        #  # # # # # #    #  #  #   #   #   ##     ##                           ###     ##    ##   ##   #   #   #  #   #  #  #  #       #    #    #    # #      # # # # # #       # # # # #      # # #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   #   ##   #   #    #   #    #   ##   #    #    #    #    #    ##    #    #     #    ##    #     #     #     #     #     ##     #     ##  
    #    #    #    #    #    #    #    #   #    #   #    #   #   #   #    #   #   #   #  #   #   #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #      #      # #        # # # # # # # # # # #        # #    # #  # #  #    #  #  #  #  #  #   #   #  ##   #    #    ##     ###                            ##    ##   #   #   #  #    #      #      #    #   #   #     ##        ##     #   #  # #       #  #  #    ##        ##    #  #    # #    #  #   ##             #       #           #  #   #              #     # # #   #      #      #   ###    #      # #     #       #     #        #  #     ##   ##  #  #     #        #   # # # #  #    #######    #  #  # # # #  #  #   ##                #    #  #     #    # # # #    #    #      #   #    #     ###                          ##      ##    ##    #   #   #   #      #  #  #  #  #  #    #    #    # #    # # #            # #              # #      # #    # #    #    #    #    #  #    #  #  #  #                    #  #  #  #   #  #      #  #   #   #  #   #   #   #  #   #   #    #   #   #   #    #   #   ##   #    #   ##   ##   #    #    ##    #    #    ##    #    ##    #     #     #     #     #     ##     #     ##
 ##    #    #    #    #    #    #   #    #   ##   #   #    #   #   #   #   #   #   #   #   #      #   #  #   #  #   #  #      #  #  #  #  #        #  #  #  #  #    #  #  # #  #    #    #    # #    # #      # # #                         # # #      #    # #  #    #  #           #  #  #   #   #   ##   ##    #      ##            ######           ##     #   ##      #  #  # #    # # # #    #  #  #   #    ##              #    #     #  # # #    #  #    #            #    #  #               #    ##        ##    #     #  # # #    #   #    ##     ##    #  #     #   #      #  #   #   #####    #  #  #    ##   ##  #      ##   #   # # #    ####      # #      ######   #  #   # #   #            #               #  #   ##                 #    #  #  #  #      #        #  #     #  #   #    ##     ##                          ##      ##     #    #   #   #   #   #  #           #  #  #    #    #      # #      # # # # #         # # # # #      # #      # #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #      #  #  #      #  #   #      #   #  #   #   #   #   #   #   #   #   #    #   #   #    #   ##   #    #    #   ##   ##    #    #    #    ##    #    ##    #     #     #     #     #     ##    ##     
#    #    #    #    #    #   #    #    #   #    #   #   #    #   #   #   #   #   #   #  #   #   #  #   #      #  #   #  #  #      #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #      # #      # # # # # #       # # # # #      # #    # #  # #  #    #  #  #  #  #      #   #   #   #    #    ##     ##           #########          ##     #    #   #  #  #  #    # # # # # #  #    #   #   ##       #####       #   #  #  #       #    #   ##               #   #  #         #  #   #     #######      #  #     # # # #  #  #   #            #   #  # #     #       #  #   #  ##       ##     ##     ##     #  #         #     #   ####    #        #          #  #            #        #    #  # #     #         #        ##        #    #  #  #  # #           # #  #  #  #       #    #     ###                         ###      #     #    #    #   #   #  #      #  #  #  #    #  #    #    # #    # # #          # # # # # #          # # #    # #    # #    #    #    #  # #  #       #  #  #  #              #  #  #  #  #   #  #      #  #   #      #   #   #  #   #   #   #   #   ##   #   #   #    #   #    #   #    #    #    #    #    #    #    #    ##    #    ##    #     #     #    ##     #     #     ##   
   #    #    #    #   ##   #    #   ##   #   #    #   #   #   #   #    #  #   #   #   #   #  #   #      #      #  #      #  #  #  #              #  #  #  #       #  #    #    #    #    #      # #    # # #        # # # # # # # #        # # #    # #    #    #  #  #              #  #   #   #   #    #     #     ###         #############         ##    ##   #   #  #     #  # #         # #  #  #  #   #     ##          ##    #   #  #  # # # #        #    ###    ###     #  #  #         #  #   #                #   #     #       #  #  #    ###   ###    #  #     #  #         #    #  #   ##                 #                 #  # # #    ####    # #   #   #       ##  #  # #         ########    #  #  # # # #     #   #     ########      #    #  #  #  # #           # #  #  #  #   #   #    #     ###                         ###      ##    ##   ##   #   #   #   #  #  #  #  #  #  #  #    #    #      #      # # # #                   # # #        # #    # #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #  #   #  #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #    #    #    #    #    ##    #    ##    #     #    ##    ##    ##     #     #  
##    #    #   ##   #    #    #   #    #   #   ##   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #    #  #  #    #    #    #    #    # #    # #      # # #                       # # #      # #    #    #    #  #  #  #  #  #  #   #  #   #    #   ##    #      ##        ######## ########       ##     #   ##  #   #  #    #      #      # #  #  #   #    #                 #    #  #  #         #     #   ##            #       #           #  #    #              #       #      #    #  #   #             #     # # #  #           #       #   #      ##     #  #        #       #  # # #   ##   ##     # #     ##     ##     #     #  #      ##      #   #    # # #        #     ####    ####     #   #  #  #  #             # #  #  #  #   #   #    #     ###                          ##      ##     #    #    #   #      #      #  #  #  #    #  #    #    # #    # #        # # # # # # # # # # #        # #      #      #    #    #    #    #  #    #  #  #  #                    #  #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   ##   #   #    #   #    #   ##   #    #    #    #    #    #    ##    #    ##    #    ##    ##    ##    ##    ##    ##
    #   ##   ##   #    #   ##   #    #   #   #    #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #      #  #  #         #  #  #  #       #  #  #    #  #    #  # #  # #  # #    # #    # #        # # # # # # # # # # # # #        # #    #    #    #       #  #  #  #   #  #   #   #   #    #    #     ##        #####           ####       ##    ##   #   #  #  #  #    # # # # # #    #  #   #   #     ####     ###     #   #     #       #        ##     #####      #   #  #    # #    #       ##            #    #  #  # #   # #  #  #    #        ##   #  # # #     ##     ##     # #        #    #  #  #     #  #        #  #   #  ##      #   # # #  #   ######    #  # # #     #             #   #    # # #        #    ##           ##    #   #   #    #      #      # #  #  #  #       #    #     ##                            ##      ##    ##    #   #   #   #   #  #  #        #  #  #    #    #    # #    # # #                           # # #      # #      #    #    # #  #    #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #   #  #   #   #      #   #   #   #   #   ##   #   #   #    #   #    #    #   #    #    #    #    #    #    ##    #    ##    #    ##    #     #     #     #     
  #   ##   ##   #    #   ##   #   #    #   #   #    #   #   #   #   #      #   #   #  #   #      #      #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    # #    # # #        # # # # # # # # #        # # #    # #  # #  # #  #  #              #  #   #   #   #    #    #     ##       ####                ####      ##    #    #  #   #  #    # #           #        #  #    ##                #    #        # # # #    #   #   ##          ##    #  #    # # #    #  #    ##           ##   #   #    # # #        #     ######     #  # #   #  #           #     # #    #  #  #    # #    #           #       #          #  #   #  #   ######    #    #    #   #           ##        # # #    #   #   ##              ##    #   #  #  #      # # #      #  #     #  #   ##   ##     ##                             ##      ##    #    #    #   #   #  #   #  #  #  #  #  #    #  # #  # #    # #      # # # #               # # # # #      # #    # #    # #    #    #  #    #       #  #  #       #  #  #  #  #         #  #  #   #  #  #   #  #   #   #  #   #   #   #      #   #    #   #   #   #    #   #   ##   #    #   #    #    #    #    #    #    ##    #    #    ##    ##    #     #     #     #   
#   ##   ##   #    #   #    #   #    #   #   #   #    #   #   #  #   #   #   #      #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # #      # # #                           # # #    # #    #    #    #  #  #  #  #  #  #      #   #   #    #    #     ##      ###                      ##      ##    #   #   #  #  #  #    # # # # #    #        #   ##     ###     ####     #   #  #    # # #    #  #   #                ##   #    #       #  #  #    ##          ##    #  #  #         #  #   #             #   #       #  ##         #     #         # # # #    #   ##    ##   #     #   ##   ##   #       #    #####    #          #   #           ##        # # # #  #  #   ##                  #    #  #     #    # # # # #    #    #      #   #    #     ##          ##########           ##      #     #    #   ##   #  #   #  #   #  #  #       #  #    #    # #    # #        # # # # # # # # # # # #      # # #    # #    # #    #    #    #  #    #  #    #  #  #  #              #  #  #  #  #      #  #   #  #   #  #   #      #   #   #   #   #   #   #   #   #   #    #   #   ##   #    #   ##   #    #    #    #    #    #    ##    #    ##    #     #    ##    ##    ## 
   #   ##   #    #   #    #   #    #   #   #   #   #   #   #   #   #   #   #  #   #      #      #  #   #  #  #  #      #  #  #  #  #       #  #  #       #    #  #    #    # #    #      # #      # # # #                   # # #      # #    # #    #  #    #  #  #  #  #  #   #  #   #   #    #    #     #       ##                          ##     ##    #   #   #  #  #    #           # #        #  ##   ##                 #    #  #  #    # # #  #     #    ##         ##    #          #    #     #    #           ##    #  #  # #     #         #           #   #  # # #  #  ##        #   #  #  # #    # #  #  #            #  #   #  #          #  # # #  #   #######   #  #       #   ##          ##   #    #     #        #     ####    ####     #   #   #  #    # #       # #    #  #  #   #   #   ##    ##         ###############         ##      #     #    #   #   #   #   #  #  #        #  #  #    #    #    # #    # # #          # # # # # #          # # #    # #      #    #    # #  #    #    #  #  #    #  #  #  #  #  #  #  #  #  #  #      #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #    #   #    #   #    #   #    #    #    #    #    #    #    ##    #    #     #    ##    #     #     #
 #   ##   #    #   #    #   #    #   #   #   #   #   #   #   #   #   #      #   #  #   #  #   #  #      #  #  #  #                    #  #  #  #    #  #    #    #    #    #    # #      # #      # # # # # #       # # # # #        # #    #    #    #    #  #  #  #  #  #   #  #   #   #    #    #    ##      ##            ######           ###     #    #   #           #    # # # # #    #        #   #     ###        ###     #   #  #    # # #    #  #   #      #####      ##        #     # #  #  #    ##           ##    #  #  # #     #     #   ##         #              #   #         ##   #  #         #   #           #  #     #   #      ##  #  #    #   ##    ##    #         #   #            #   #  #         #  #  #    ##             ##    #   #        #             # #  #  #  #  #   #    #     #        #####          #####        ##     ##    #    #   #   #   #      #  #  #  #  #  #    #  #    # #    #      # # #                         # # #      # #      #    # #    #    #  # #  #    #  #  #       #  #  #  #  #  #  #         #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   ##   #   #    #   #    #   #    #    #    #    #    #    #    #    ##    #    ##    #     #    ##    
    #   #    #   ##   #   #    #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    # #    # #    # # #        # # # # # # # # # # #        # #    # #    #    #  #    #  #  #  #  #   #  #   #   #   ##   ##    #      ##         ################        ##     #    #   #  #  #  #  # #      #      #    #  #   #    #                   ##   #     #  # # # #        #   ##            ##   #   #    # # #    #   #   ##             #    #  #  # #     #     #   ##        ##   #  #       #   #            ##   ##   #   ##            #     # #  #   ######    #       #   #        #   #    #    #   #            #   #  #  # # #    #  #    #                  ##   #   #  #  #    # # # # #    #    #  #   #   #   #     #       ###                 ####       ##     ##    #    #   #   #   #  #   #  #  #  #  #  #    #    #    #    # #      # # # #                 # # # #      # # #    # #    #    #    #    #    #  #    #  #  #          #  #  #         #  #  #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   ##   #   #    #   #    #   #    #    #    #   ##   ##    #    #    #    ##    #     #    ##    #   
  #   ##   #   ##   #   #    #   #   #   #   #   #   #   #   #   #  #   #      #   #  #      #  #  #   #  #  #  #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #      #      # # #        # # # # # # # # #        # #      # #    #    #  #    #  #  #  #      #  #   #   #   #    #    ##     ##       ####                ###       ##    #    #   #  #  #  #    # #       # #    #  #  #   ##    ##             ##    #   #  #    # # # #  #  #   #    ####   ###     #   #  #         #     #   #                #   #     #       #     #   ##        ##   #  #       #  #    ###   ####      ##      ######     #  #        #     #     #  #     #  #           #     # # #  #  #              #   #  # #     #        #     ##         ##     #       #  #    #           #    #  #  #  #   #   #     #      ###                      ###       ##    ##    #    #   #   #   #  #   #  #  #  #  #    #  #    #    # #    # #      # # # # # # # # # # # # # #        # #    # #    # #    #    #    #  #    #  #    #  #  #  #                 #  #  #  #      #  #      #  #   #      #   #   #  #   #   #   #   #   #   #   ##   #   #   ##   #   ##   #    #    #   ##   ##   ##   ##    #    #    #     #    #     #    ## 
#    #   #    #   #   #    #   #   #   #   #   #   #   #   #   #  #   #      #      #  #   #  #  #      #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #      # # #          # # # # #          # # #      #    # #  # #  #       #  #  #  #   #  #   #   #   #    #    #     ##      ###                       ###      #    ##   #   #  #  #  #    # # # # # #    #  #  #  #    #      ####   ####     ##   #  #    # # # # #  #  #   ##                #   #  #  # #   # #  #  #   #      ######      #   #  #           #  #    #          ##   #    # # #  #   #       ####                   ##           #  #           #           #    #####    #  #       #  ##    ######     #        # #    #     #   ##                ##    #   #  #    #    # # # #    #    #  #  #   #   ##   ##     ###                           ##      ##     #    #    #   #   #   #  #      #  #  #       #  #    #    # #    # # #      # # # # # # # # # # # #        # #      # #    #    # #  # #  #    #    #  #       #  #  #  #  #  #  #  #  #  #  #  #      #  #   #  #      #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #    #   ##   #    #    #    #    #    ##    #    ##    #    ##    #
   #   #    #   #    #   #   #   #   #   #   #   #   #   #      #   #  #   #      #  #   #  #  #         #  #  #  #  #  #  #       #  #  #    #  # #  #    #    # #    #    # #      # # #                             # # #    # #    # #  #    #       #  #  #  #      #   #  #    #   #    ##    ##      ##                             ##      #    #   #   #  #  #  # #    # # # #    #    #      #    ##                  ##   #   #    #       # #  #   #   ##            ##   #   #    # # # #  #  #  #     ###     ###     #  #  #  # # # #  #  #   #            #   #  #       #  #   #      ####             ##   #     # #     #            #    # #  #   #        #   #  # # #     #   ###    ###    #  #  #       #     #   #     ###     ###      #   #   #  #    # #         # #  #        #  #   ##   ##     ##          ##########           ##      ##    ##   ##   #   #   #   #  #      #  #  #    #  #    #  # #    #      # #          # # # # # # # #          # # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    #    #    #    ##    #    ##    #    
 #   ##   #   #    #   #   #   #   #   #   #   #   #   #   #  #   #  #   #  #   #  #   #  #  #  #      #  #  #  #  #  #       #  #  #    #  #    #  # #  # #  # #    #      # #      # # #                         # # #      # #    # #  #    #       #  #  #  #      #  #   #   #    #    #    ##     ##         ######      ######        ##    ##   #   #   #  #  #    #             # #  #  #  #   #     ##              ##    #   #  #      #      #  #   #    ###       ##     #  #  #  # # # #        #    #            ##    #  #  #       # #  #   #              ##  #  #       #  #   #    ##      ##     ##   #  #       #  #    #####    #  #     #  #             #  #       #  #   #          ##   #  #  # # # #        #    #                ##    #      #    #    # # # #      #  #  #  #  #   #    #     ##        #####         #####        ###     #     #    #   #   #   #   #  #   #  #  #  #    #  #    #    #    # #    # # #          # # # # # #          # # #      # #    # #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   ##   #   #   ##   #    #   #    #    #   ##   ##   ##   ##    #    #    ##    #    ##  
    #   #    #   #   #   #   #   #   #   #   #   #   #   #  #   #      #      #  #      #  #  #         #  #  #  #  #       #  #  #    #  #    #    #  # #    #    # #    # #      # # # #                       # # #      # #    # #  # #  #    #  #  #  #  #  #   #  #   #   #   #    #    ##     ##       ###                    ###      ##    #    #   #  #  #  #    #           # #    #      #   ##     ###       ###     #       #    # # # #    #  #   #      #######      #   #  #    # # #    #  #    #                ##   #  #    # # #    #   #    #########    #     #       #  #  #   #    #    #   #   #  #       #  #   ##     ##   #  # # #  #   #        #   #  #     #     #              #   #  #    #      #  #   #     ####     ###      #   #   #  #    #             #    #  #  #  #   #    #    ##       ###                   ####       ##     #    ##   #    #   #      #      #  #  #  #    #  #    #    #    # #    # # #              # #              # # #    # #      #    # #    #    #  # #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   #    #   #    #    #   #    #    #    #    #    #    ##    #    ##    # 
  #   #    #   #   #   #    #   #   #   #  #   #   #   #  #   #      #      #  #   #  #  #  #         #  #  #  #          #  #  #    #  #    #    #    #    #    # #    # #      # # # #                       # # #      # #    # #  # #  #    #  #  #  #  #  #  #   #      #    #   #    ##    ##      ###                            ##     ##    #   #   #  #  #  #    # #         #    #  #  #   #   ##      ########       #   #   #  # #         #  #  #   ##                #    #  #    # # # #  #  #   #    ###      ###    #   #  #           #       #           ##   #  #    # #    #     #  #   #   #  #  #           #   #          #   #       #  #     ###     #     # # #     #    ########     #  #  #         #  #  #    #                 ##    #   #  #  #    # #     # # #    #  #  #  #   #    #    #      ##                           ###      ##    ##    #    #   #   #   #  #   #  #  #  #  #    #  #    #    #    # #      # #                             # # #      # #      #    # #  # #  # #  #    #       #  #       #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #      #   #   #   #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #    #    #    #    #    #    ##    #    #
#    #   #   #    #   #   #   #   #   #   #  #   #   #  #   #   #  #      #  #   #  #  #  #      #  #  #  #  #          #  #  #    #  #    #    #    #    #    # #    # #      # # # #                       # # # #    # #    # #    #  #    #  #  #        #  #      #   #   #   ##   ##    ##     ##         ########  ########        ##     #    #   #  #        #    # #       # #    #  #  #   #    ##                  ##   #   #  #    # # # #  #     #   ##              ##   #   #    # # # #    #   #   ##              #    #  #  #         #  #   #     ######     ##  #  #           #    #  #  #  #    #       #     #    ######    #  #       #   #          #   #  # # # #  #   ##           #   #     #       #        #     ##          ###    ##   #  #  #  #    # # # # #    #    #  #  #   #   #    ##     ##         #############          ##      ##    ##    #   #   #   #   #      #  #  #  #  #  #    #    #    #    # #      # # #                           # # #      # #    # #    # #  # #  # #  #    #  #    #  #       #  #  #  #  #  #  #  #  #      #  #  #   #  #      #      #   #  #   #   #   #   #   #   #   #   #   #   #   #    #   #    #   #    #    #   ##   #    #    #    ##   ##    #    #    
   #   #    #   #   #   #   #   #   #   #      #   #   #  #   #  #   #  #  #   #  #  #         #  #  #  #  #  #       #  #  #    #  #    #    #    #    #    # #    # #      # # # #                         # # #      #      #    #    #  #       #  #      #  #   #  #   #    #   ##    #     ##       ###                     ###       #     #   #   #   #  #    #  # # #       # #  #        #   #    ##                #    #   #     #         # #  #   #    #             ##   #   #  # #       #     #   #     #### #####     #        #       #  #  #   ##           ##   #   #    # # # #    # #    #             #  #   #           #   #              #       #    #  # # # #  #  #      #####     #   #  # #     # #  #  #    #       #####        #    #  #        #               #    #  #  #   #   #   ##    ##       ####               ####        ##     ##    #    #    #   #   #  #   #  #  #  #  #  #  #    #  # #  # #    # #    # # # #                           # # #      # #    # #    #    # #  # #  #    #  #    #  #       #  #  #  #  #  #  #  #  #      #  #  #   #  #  #   #  #   #   #  #   #   #   #  #   #   #   #   ##   #   #   #   ##   #   #    #   ##   #    #    #    #    #    #    #    #    ##  
 #    #   #   #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #      #  #  #      #  #  #  #  #  #  #       #  #  #    #  #    #    #    #    #    # #    # #      # # # #                         # # #      # #    #    #    #  #    #  #  #  #  #   #  #   #   #   #    #    #     #      ###                              ##     ##    #   #   #  #  #  #    # #       # #    #     #  #   ##    ###            ##    ##      #    # # # # #  #  #  #    ##           ##    #   #  #           #  #  #    #               #    #  #  # #     # #  #   #    ###    ###     #        #                        # #  #  #    ##      ##    #    # #     #    ######        # #   # #  #    #          ##   #  #  #       #    #   #    ##              ##    ##   #  #  #    #           # #    #  #  #      #    #    ##      ##                         ###       ##    ##    #    #   #   #   #   #  #  #           #  #    #  #    # #    # #    # # #                             # # #      # #    # #    #    # #  # #  #    #  #    #  #       #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #      #   #   #  #   #   #   #   #   #   #    #   #   #    #   #    #   #    #   ##   #    #    #    #    ##   ##    # 
#   #   #   #   #    #   #  #   #   #   #   #  #   #      #      #  #   #  #  #         #  #  #  #  #  #  #  #    #  #  #    #  #    #  # #  # #    #    # #    # #      # # #                             # # #    # #    # #  # #  #    #  #  #  #  #  #  #   #  #   #   #    #    #    ##     ##        #####            #####       ##     #    #   #  #        #    # #         #    #  #  #  #    #     ###         ###     #   #  #  #    # #      #  #   #    ##          ##     #  #  #  # # # #    #  #   #    ###       ##     #   #  # #       # #  #   #       ####      ##   #  #  #    # #      # #    #        #     #######     #  # #   # #   #      #      #   #       #     #     ######     #   #  # #       #     #   #     ###       ###     ##   #  #     #  # #         # #    #  #  #  #   #   #    ##     ##          ###########           ###     ##     #    #    #   #   #      #  #      #  #       #  #    #    #    # #      # # #                             # # #      # #    # #    # #  # #  # #  #    #       #  #       #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   ##   #   #    #   #    #   #    #    #    #    #    #    #    #    #
  #    #   #   #   #   #   #   #  #   #   #      #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #  #       #  #    #  #    #  # #  # #  # #    #      # #      # # #            # # # #          # # #      # #    #    #    #  #       #  #      #  #   #  #   #    #   ##    #     ##      ###                          ##      ##    #   ##  #   #  #  #    # #           #    #  #  #   #   ##     #####   ####      #   #   #    #         #     #  #     ##         ###    #   #    #         #  #  #   ##                 #   #          # #    #  #    #                #       #  #  #    #  #    #  #  #   #      ######     #  #  # # #  #  #             #   #    # #  #  #   #           ##   #     #         #  #  #   ##       #####        #    #   #  #  #    # #       # #    #  #  #  #  #   ##   #     ##       ####                ####        ##     #     #    #   #   #   #   #      #  #  #  #  #       #    #    #    # #    # # #            # # # # #          # # #      # #      #    # #    #    #  #    #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #      #      #   #  #   #   #   #   #   #   #   #   #   #   #   #    #   #    #   #    #   ##   #    #    #    #    #    #    
 #   #   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  # #  #    #    # #    #    # #      # # #          # # # # # # # #        # # #    # #    # #  # #  #    #  #  #  #  #  #      #   #   #   #   ##   ##    ##     ###         ################         ##     #    #   #   #  #  #  #  # #             # #  #  #  #   #    #      ##########      #    #  #  #  # #     # #  #  #   #    ##          ##    #   #  #    # # # #  #  #  #    ##            ##    #   #    # # # # #  #  #   ##                #    #   #  #            #  #   ##     ########    #   #         #   #            ##  #  #     #     #    #### ####     #  #  #    # #    #  #   #   ##                ##    #   #   #    #  # # # # # # #    #           #   #   #     #      ##                           ###       #     ##    #    #   #   #   #      #  #  #  #  #  #  #    #  #    # #    #      # # #        # # # # # # # #          # # #      # #    #    # #    #    #    #  #    #  #       #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #      #   #   #  #   #   #   #   #   #    #   #   #   #    #   #    #   #    #    #    #   ##   ##   ##   ##  
   #   ##   #   #  #   #   #   #   #  #   #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    # #    # #      # #          # # # # # # # # # #        # # #    # #    #    #    #  #  #           #  #  #   #   #   #   #    #     #     ##       ###                      ###      ##    ##   #   #   #  #  #    #      # # #    # #  #  #  #   #    #       ########       #   #   #  #    # # # #    #  #   #    ##           ##    #   #  # #         #        ##    ###      ###     #   #  #      #    #     #   #                  #    #    #      #   #    #     ##       ###   #   #       #     #             #   #    # #        ##              #   #  #  # # # #    #  #   #    ##            ###    ##   #  #  #  #    # # # # # #    #    #  #      #   #    ##     ##        #################          ##      #     #    #    #   #   #      #  #   #  #  #       #  #    #    #    # #    # # #        # # # # # # # # # #          # #      # #    # #    #    #    #    #  #    #  #    #  #  #  #                 #  #  #  #  #      #  #   #  #      #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   #    #   #    #   ##   #    #    #    #    #    # 
  #   #   #   #   #   #   #  #   #   #  #   #      #  #   #  #      #  #  #  #                    #  #  #  #       #  #    #    #    #    #    #      #      # # #      # # # # # # # # # # # # # #      # # #    # #  # #  # #  #    #  #  #  #  #  #   #  #   #   #   #    #    #     ##     ###           ###########          ##      #    #   #   #           #    # # # # # #    #  #  #  #   #    #        #####        ##   #   #  #    # # # #    #  #   #    ##            ##    #        #       # #  #  #   ##      #######      #   #  #  #         #  #  #   #      #########      ##    #    #    #     ##              ##   #  #         #   #              #     #     # #  #    #           #    #  #  #         #  #  #   #     ####      ###      #   #   #  #  #    # # #   # # #    #  #  #  #  #   #    #     #       ###                      ###       ##     ##    #    #    #   #      #   #  #  #  #  #  #  #    #  #    # #  # #      # #        # # # # # # # # # # # #        # # #    # #    # #    #    #    #    #    #  #    #  #  #  #          #  #  #         #  #  #  #   #  #  #   #  #   #  #   #   #  #   #   #   #   #  #    #   #   #   #   #   #    #   #    #   #    #    #   #    #    #    #    #
#   #   #   #   #   #   #   #  #   #   #  #   #  #   #  #      #  #  #         #  #  #  #  #  #       #  #  #    #  #    #  #    #    # #  # #    # #    # # #      # # # # #               # # # #      # #      #    #    #    #  #  #           #  #      #   #   #    #   ##    #      ##       ###                    ####      ##    ##   #   #   #  #  #  #    # # #     # #    #        #   #    #         ###         #    #   #  #    # # # #    #  #   #    #              ##    #  #  #  # # # # #        #   ##                 #   #   #    # # # # #  #  #   #    ##             ##      ##     ##      #####   ####     #        # #    #  ##    ######     #  #  # # # #  #  #    ###    ###     #  #  #    # #    #  #  #   ##      ########       #    #   #  #  #    # #       # #    #    #  #   #   #   #    #      ##           #########            ###      #     #    ##   #   #   #   #   #  #                 #  #    #    #    #      # #      # # # # # #         # # # # #        # #      # #    #    # #    #  # #  #    #  #    #  #  #       #  #  #  #  #  #  #      #  #  #  #   #  #      #  #   #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #   #    #    #   ##   ##   ##   
   #   #   #   #   #  #   #   #  #   #   #  #   #  #  #   #  #  #      #  #  #  #  #  #  #  #  #       #  #  #    #  #    #    #    #    # #    #      # #      # # # #                       # # # #    # #      #    #    #  #    #  #  #  #  #  #   #  #   #   #   #    #    ##    ##      ##             ########           ##      #    #    #  #   #  #  #    # #             #    #  #   #   #    #         ###         #    #   #  #    # # # #    #  #   #   ##                #    #  #  #    # # #    #  #  #    ##               #    #        # # # # #  #     #    #        ######           ##                       #   #     # # # #     #    ##    ###    #  #  # # #    #   #      #####     ##        #       #        #   ##                   ##   ##      #  #    # #         # #    #  #  #  #   #   #   ##    ##       ####                  ####       ##      #    ##    #   #   #   #   #      #  #  #  #  #  #    #  #    #    # #    # #      # # # #                   # # # #        # #    # #    # #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #      #   #   #   #   #   #   #   #   #   #   #    #   #   ##   #    #   #    #    #    #    #  
 #   #   #   #   #   #      #   #  #   #      #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #    # #    # #      # # #              # # #            # # #    # #    # #    #  # #  #  #              #  #      #   #   #    #   ##    ##     ##       ####                   ####      ##     #    #   #  #   #       #      # # # #    # #  #  #  #   #    ##        #####        #    #   #  #    # # # #    #  #  #    #        ##        ##   #  #  #    # # #    #  #   #    #              ##    #  #  #  # #   # #    #  #   #     #                                         #    #        # #    #  #   ##         ##   #  #  # # #     #   #              ##   #  #    # # #    #  #   #    #                 ##    #   #   #  #    # #           # #  #    #  #   #   #   #    ##     ###                              ###      ##    ##    #    #   #   #   #   #  #  #              #  #    #  # #  # #    # #      # # #                           # # #      # # #    # #    #    # #  #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #      #  #   #  #   #      #   #   #  #   #   #   #   #   #   #    #   #   #   ##   #   #    #    #   #    #    #    # 
#   #   #   #  #   #   #   #  #   #  #   #  #   #  #  #   #  #  #  #                       #  #  #  #    #  #    #  #    #    #    #    # #    # #      # # #        # # # # # # # # # # #        # #      #    # #  # #  #    #  #  #  #  #  #  #   #  #   #   #   #    #    ##    ##      ##            #########            ##     ##    #   #   #  #        #    # #       # #    #        #   #    #        #######       #    #   #  #    # # # # #  #     #   #      #########      #   #     #    # # #    #  #   #    ##             ##    #        #         #    #   #   #     ##                   #######       ##   #   #  #         #  #   #              #   #    # # #  #  #   ##            ##   #  #  #         #     #  ##    #                ##    #   #   #  #    #      # #      # #  #  #  #  #   #   #    #     #        ####                ####        ##     ##    ##   ##   #   #   #   #      #  #  #  #  #  #  #    #    #    #    # #    # # #          # # # # # # #            # #      # #      #    # #    #    #    #  #    #  #    #  #  #  #          #  #            #  #  #      #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #   ##   #   #    #   #    #    #   #    #    #
  #   #   #   #   #  #   #   #  #   #  #   #  #      #  #  #      #  #  #  #  #  #  #  #       #  #  #    #  #    #  # #  # #  # #    #    # #      # #        # # # # # #       # # # # # #      # #      #    # #  #    #       #  #  #  #      #  #   #   #   #   ##   ##    #      ##       ###                     ####      ##    ##   #   #   #  #  #  #  # #               #    #  #      #    ##       #########      ##   #   #  #    # #   # #    #  #   #     ##          ##     #   #  #    # # # #    #  #   #    ##             ##    #   #  #    # # # #    #  #   #   #     ##       ####          ##      #   #   #  #         #     #    ###    ###    #  #  # # # #  #  #    #           ##   #   #    # # # #    #  #   #    ##              ##     #   #   #  #    #    # # # # #    #    #  #  #   #   #   #    ##      ##                              ##       #     ##    #    #   #   #   #   #  #      #  #  #  #    #  #    #    #    # #    # # #      # # # # # # # # # # # # #        # # #    # #    # #    #    #    #    #    #  #    #  #  #       #  #  #  #  #  #  #  #         #  #  #   #  #      #      #   #  #   #   #  #   #   #   #   #   #   #   #    #   #   #    #   #    #   #    #   ##   #    
 #   #   #  #   #   #      #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    #      # #      # # # #                       # # # #      # #    #    # #  #    #  #              #  #  #   #   #   #   #    #    #     ##     ###          ##############          ##     #    ##   #   #  #  #  #  #    # # # # # # #    #  #  #  #   #    #      ############      #    #  #  #  # #       # #  #  #   #    #               #    #   #  #  # # # # # #  #  #   #   ##               ##    #  #  #  #         # #  #  #  #   ##    #     ##       ##     ##    #   #  #  #           #  #   ##            ##   #    #   # #  #  #    ##         ##    #  #  #    # #    #     #   #    ##             ##     #   #   #  #  #    # # #     # #    #    #  #   #  #   ##   ##    ##        ####               #####        ##     ##    ##   ##   #   #   #   #   #  #  #        #  #  #  #    #    #    # #    # #      # # # # #               # # # # #      # # #    # #    # #    #    #    #  # #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #   #  #   #      #   #   #   #   #   #   #   #   #   #   #    #   #   #    #   ##   #    #   ##  
   #   #   #   #  #   #   #  #   #  #   #  #  #   #  #  #  #                          #  #  #  #    #  #    #  # #  #    #    # #    # #    # #      # # #          # # # # # # #          # # #    # #    #    #    #    #  #  #  #  #  #  #  #   #      #    #   #    #    ##     ##       ###                        ###      ##    ##   #   #   #  #  #  #    #               #    #  #  #   #    #      ###        ###     ##   #        #           #    #   #   ##        ##        ##   #        #         #     #  #    #                 ##   #   #  #    # #   # #    #  #  #   #    #    #     #     #    #   #   #  #    # # # #    #   #    ###    ###    #     #       #     #    ##        ##    #   #  #           #  #  #   #     ##            ##     #       #  #  #  # #             #    #        #  #   #    #    ##     ###                              ###      ##    ##    #    #   #    #  #   #      #  #  #  #  #  #    #  #    #    # #    # #    # # # #                           # # #      # # #    # #    #    # #  # #  #    #    #  #       #  #  #          #  #            #  #  #  #      #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   #   #    #   #    #   #    #    # 
  #   #   #  #   #   #  #   #  #   #  #  #   #  #  #      #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #  # #    #    # #    # #    # # #        # # # # # # # # # # # # #        # #      #    # #  #    #    #  #  #  #  #  #  #   #  #   #   #   ##   #    ##    ##      ##         ########   ########        ##     ##    #   #   #  #  #  #  #    # # # # # # #    #        #   #   #     ###           ###     #   #   #  #    # # # #    #  #  #   #     ###       ###     #   #  #  #      #      #  #   #   #        ####        #   #   #  #    # # # # #    #  #  #  #   #   ##   #    #   #   #   #  #  # #         # #       #              #   #  #  # # #    #   #   ###        ##    #   #  # #       # #  #  #   #     ##            ##     #    #  #        #    # # # # #    # #  #  #  #  #   #   #    #     ##       ####                 ####        ##      #     #    #   ##   #   #  #   #  #   #  #  #  #       #  #    #    #    # #      # #          # # # # # # # # #          # # #      # #    # #    #    #    #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  #   #   #   #   #  #   #   #   #    #   #   #   #   ##   #   #    #   ##   #    #
 #  #   #   #      #   #  #   #  #      #  #      #  #  #  #  #              #  #  #  #  #    #  #    #  #    #    #    #    # #    # #    # #        # # # #                     # # # #      # #    #    # #  #    #  #    #  #  #  #      #  #   #   #   #   #    #     #     ##      ###                            ###      #     #   ##   #  #  #  #  #    #               #    #  #  #   #   #     ##               ##     #   #  #  #  # #       # #  #  #   #    ##              ##    #   #  #    # # # # #  #     #   #      ####  #####     ##   #  #  #  # #       # #    #  #  #   #  #   #   #   #  #           #         # #  #   #   ##          ##   #     #       #  #  #    ##         ##    #   #    #       # #  #  #   ##    ###           ##     ##   #   #  #  #    # #       # # #    #  #  #  #      #    #    ##     ##             #######             ##      ##     #    ##   ##   #   #   #      #  #              #  #  #    #    #    # #    # # #      # # # # # #     # # # # # # #        # #      # #    #    # #    #    #  # #  #    #  #  #    #  #  #  #  #           #  #  #  #  #  #   #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #    #   #    #   #    #   #    
   #   #  #   #   #  #   #  #   #  #  #   #  #  #         #  #  #  #  #  #  #       #  #  #    #  #    #  #    #    #    # #    #      # #      # # #          # # # # # # #          # # #    # #    # #    #  #    #  #       #  #      #  #   #      #    #   #    ##    ##     ##        #####                ####       ##     #    #   #   #  #     #  #    # #       # # #    #  #  #   #   #     ##                  #     #   #  #  #      # #    # #  #   #   ##      #######       #   #   #    #           #  #  #   #     ##            ##    #   #   #    #             #    #  #  #  #  #      #  #  #  #    #           #     #  #     #########     #   #    # # #    #  #    ##           #    #   #    #       # #  #  #   ##    ##             ##     #       #  #  #  # #      #        #    #  #  #  #   #   #    #     ##      ####                     ####       ##     ##    ##   ##   #   #   #   #      #  #  #  #  #  #  #    #  #    #    # #    # #      # # #                         # # # #      # #      # #    #    # #  # #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #      #  #  #      #  #   #  #      #   #  #   #   #      #   #   #   #   #   #   #   #    #   #   #    #   #    #   #   
  #  #   #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #  # #    #      #      # # #      # # # # # # # # # # # # # # #      # # #    # #    #    #    #  #  #              #  #      #   #   #   ##   #     #     ##      ##             ########            ##      #    ##   #   #      #    #  #      # # # #      #           #   #    ##                     ##   ##  #        # #     # #        #   #    ##            ##    ##      #    # # # # #    #  #   #    #                  #    #   #  #  #    # # # # # #    #    #  #       #  #  #    #      # # #    #  #  #   #       ###       #   #  #           #   #   ##            ##   #   #  # #       # #  #  #   #     ##             ###    ##   #   #  #    #    # # # # # #    # #  #  #  #      #    #    #      ##          ###############          ##      ##     #    #    #   ##   #  #   #      #  #  #  #  #  #    #  #    #    #    # #      # #          # # # # # # # # #          # # #      # #    # #    #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #      #   #  #   #   #   #      #   #   #   #    #   #   #   #   ##   #   #    #   ## 
#   #   #  #   #  #   #  #   #  #      #  #  #         #  #  #  #  #  #       #  #  #  #    #  #    #    #  # #    #    #    # #      # #      # # # #                         # # #      # #      #    #    #    #  #  #  #     #  #  #  #   #   #   #   #   #    ##    #      ##       ###                        ###      ##     #    #   #      #  #  # #  # #             # #  #     #  #   #    #       ###########      ##   #   #  #  #      # #    #        #    #                   #    #   #    #    # #      #  #   #   #      ####   ####      #    #  #  #  #    # # # # # #      #    #    #    #    # #         # #  #     #   ##               #         #       #     #   #               #    #  #  # #       # #  #  #   #    ##               ###    #    #  #  #  #  # #               #    #  #  #  #   #   #    #    ##      ###                          ###       ##     ##    #    #    #   #   #   #  #      #  #  #  #  #    #  #    #    #    #      # #      # # # # # #           # # # # #        # #      # #    # #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #         #  #  #      #  #      #  #   #      #   #  #   #   #   #   #   #   #   #   #   #   #   #    #   #   ##   #   ##
   #  #   #      #      #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #    # #      # # #        # # # # # # # # # # #        # # #    # #    #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   ##   #    ##    ##      ##         #####          ######        ##     #    #    #      #  #  #  # #  # # #       # #    #  #  #  #   #   ##     ###           ###     #   #   #  #    #       # #        #   #     ##          ###    ##   #  #    #         # #  #  #   #    ##                ##    #   #  #  #  #    # # # # # # # #      # #    # # #         # #    #  #   #   ##              ##   #  #  #       #     #   #                 #   #  #  #           #  #  #   #    ##                 #     #   #   #  #  #    # # #     # # #    #  #  #  #  #   #   ##   ##     ##        #####            #####         ##      #     #    #    #   #   #   #   #  #      #  #  #  #    #  #    #  # #  # #    # #      # # #                             # # # #      # #    # #    # #    #    #    #  #    #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #   #  #  #      #  #   #  #   #      #   #      #   #   #   #   #   #   #   #   #    #   #   #    #   #    
 #   #   #  #   #  #      #  #   #  #  #  #      #  #  #  #  #  #  #       #  #  #       #  # #  #    #    #    #    # #    # #    # # #      # # # #                   # # # # #      # #    # #    #    #  #    #  #  #  #  #  #  #      #   #   #   #   #    #    ##     ##      ###                               ##      ##    #    #   #  #        #  # #    # # # # #      #  #  #  #   #   #     ##                 ##    #   #   #  #    # # # #    #        #    #                   ##   #   #  #  # #       # #  #  #  #    #      ###########      #    #   #  #  #    # #      # # # #              #        # #           #    #               #    #  #  # #     #        #      ########     ##      #      # #    #     #  #    ##                   ##    #   #           #      # # #      # #  #  #  #  #      ##   #    ##      ##                                ##       ##     #    #    #    #   #   #      #  #      #  #  #    #  #  #    #    #    # #      # #        # # # # # # # # # # # # #        # # #    # #      #    # #    #    #  # #  #    #  #    #  #  #  #       #  #  #  #  #  #      #  #  #  #   #  #  #   #  #   #  #   #  #   #   #   #  #   #   #   #   #   #   #   ##   #   #   #    #   #   
#   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #      #      # #      # # #          # # # # # # #          # # #      # #    #    #    #    #  #  #  #  #  #  #  #   #  #   #   #   #    #    #    ##     ##        ###                       ###       ##    ##   #    #  #   #  #       # #      # #      # #  #  #  #  #    #    ##                     ##   ##      #    #           #    #       #    ##            ###    #   #     #  # # # # # #  #     #   #    #                  ##    #   #   #  #    #    #        # # # # #        # #    #    #      #    ##               ##   #  #  #       # #  #   #    ##         ##    #   #  #    # # # #    #  #   #    #        ####         ##    #   #  #  #  #    # #         # #    #           #   #   #    #     #       ###                       ###        ##     ##    #    ##   #   #   #   #   #  #         #  #       #  #    #    #    #      # #      # # #                         # # # #      # #      # #    #    # #  # #  # #  #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #   #  #   #  #   #   #   #      #   #   #   #   #    #   #   #   #    #   #  
  #   #      #      #  #      #  #  #      #  #  #  #  #  #  #  #  #    #  #  #       #  # #  #    #    #    #    # #    # #      # #        # # # # #             # # # # #      # #      #    # #  # #  #    #  #  #  #  #  #  #  #   #  #   #   #    #   ##    #     #      ##         ######          #####         ##     #    #    #      #  #  #  #    # #             #    #  #  #  #   #    ##      ####     ####      #    #      #    # #       #    #  #   #   ##      ########      ##   #   #  #    # # # # #    #  #       #     ###          ###     #    #      #  #  #    # #    # #    # #      #    #  #  #  #   #   ##                  #   #     #         #  #  #    #              ##   #   #    #       # #  #  #  #    #      ###########      ##    #   #  #  #  # #    # # # # # #    #    #  #      #   #   #    ##     ##         ########   ########          ##      #     #    ##   ##   #   #   #      #  #      #  #       #  #    #  # #  # #    # #    # # #        # # # # # # # # # # #        # # #      # #    # #    #    # #  # #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #      #  #  #  #   #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #   #   ##   #   # 
 #   #  #   #  #      #  #      #  #  #  #                    #  #  #  #  #    #  #    #  #    #    #    #    # #    #      # #      # # #            # # # # #            # # #      #      #    #    #    #  #  #  #  #  #  #  #      #   #   #   #   #    #     #     ##      ###               ##               ##      ##    #    #   #  #           #    # #         # #    #  #  #  #   #   ##     ##               ##     #   #   #  #    # # # # #    #  #  #   #    ##               ##    #   #     #  # # # # # #    #      #    #       #########       ##   ##   #  #        #  #    #    #    #    #  #  #  #  #   #   ##      #########     ##      #    # # #    #  #   ##      #####       #   #  #  #    # #      #  #   #   #     ###         ###      #    #      #  #    #      # #        #    #  #  #  #   #   #    #    ##      ##                               ##       ##     #     #    #   #    #      #   #  #         #       #  #  #    #    #    # #    # #      # # # #                     # # # #        # #      #      #    # #  # #  # #  #    #    #  #  #    #  #  #  #  #              #  #  #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #   ##   #   #
#  #   #  #   #  #      #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    # #    # #      # #        # # # # #           # # # # # #      # #      #    # #  # #  #    #  #  #        #  #  #   #  #   #   #   #    #    #    ##     ##       ####                         ###      ##     #    #   #   #  #  #  #  # #    # # #   # # #    #        #  #    #    ##                     #    ##      #  #    # # # #      #  #   #   #     ###        ###     ##   #  #  #  # #       # #  #     #   #    ##                   ##     #   #   #      #  #       #  #       #  #  #   #  ##   #     ###         ###    #   #  #  # # # # #  #  #  #     ##        ###    #   #  #    # # # # #  #     #   #     ##              ##     #    #      #    #  # #           # #    #  #  #  #  #   #   #    #     ##       ###                      ####       ##      #     #    #    #   #   #   #   #  #  #      #  #       #  #    #  # #    #    # #      # #          # # # # # # # # #          # # #      # #    # #    #    # #  # #  # #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #         #  #  #   #  #      #      #   #  #   #   #  #   #   #   #   #   #   #   #   #   #    #   #   
  #   #  #      #  #   #  #  #  #         #  #  #  #  #  #       #  #  #    #  #  # #  #    #    #    #    #      #      # #      # # #            # # # # #            # # #      # #    #    #    #    #  #  #           #  #  #   #  #   #   #    #   #    ##    ##      ##        #####               #####       ##     ##    #   #   #      #       #    # # # # # # #    #    #  #   #   #    #      ####      ####      #    #   #  #  #      # #      #  #  #   #   ##       #####        ##   #   #  #  # #           #  #  #  #   #     ##                 ##     #    #   #   #  #      #  #  #  #  #  #   #   #   #    ##                 ##   #   #  #           #  #  #    #               ##   #   #  #             #  #  #   #    ##                  ##     #   #      #    #    # # #   # # #    #    #  #      #   #   ##    #     ##         #######      #######         ###     ##     #    ##   #    #   #   #  #   #  #      #  #  #       #  #    #    #    # #    # #        # # # #                   # # # #        # #      #      #    # #  # #    #  #    #    #  #       #  #  #             #  #            #  #  #  #   #  #  #   #  #   #  #   #  #   #   #      #   #   #   #   #   #   #   #   #    #   #  
 #  #   #  #   #  #  #      #  #  #  #  #           #  #  #  #  #  #    #  #    #  #    #    #    #    #    # #    # #    # # #      # # # # #               # # # # #      # # #    # #    #    #  # #  #  #                 #  #   #  #   #   ##   #    #    ##    ##      ###           ##############          ##      #     #   #   #   #  #  #  #  # #    # # # # # #    #    #  #  #   #    #     ##                 ##    #    #  #  #  #      #      #    #      ##    #                 ##    #   #  #  #      # # #    #  #  #  #   ##    ###               ###     ##   ##   #   #  #   #  #   #  #   #   #   #    ##      ###########      #   #   #    # # # # #  #  #   #     ##########     ##      #    # # # # #    #  #   #    #       ########       ##    #   #      #    #    # # # # # #    #    #  #  #  #   #   #    #    ##      ##                                ###      ##     #     #    #   #    #   #  #   #  #      #  #  #  #    #  #    #  # #  # #    # #      # #          # # # # # # # # #          # # #      # #    # #    # #  # #    #    #  #    #       #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #      #   #  #   #   #  #   #   #   #   #   #   #   #   #    #   # 
#  #   #  #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #  # #  # #    #    # #    # #      # # #            # # # # # # # #          # #      # #    # #  # #  #    #  #    #  #  #  #      #  #   #   #  ##   #   #    ##    #     ##       ###                              ##      ##     #   ##   #  #   #  #  #    #      # # # # #    # #  #  #  #   #   #    ##        #######        #    #   #        #             #        #   #     ###           ##     #       #  #    # #   # # #  #        #   ##     ##                ##      #    ##   #   #   #   #   #   #    #    #     ##                 ##    #   #  #      # #    #  #  ##   ##             ##    #   #  #      # #    #    #   #   ##     ###         ###     ##   #   #   #  #    #      # # #      # #  #           #   #   #    #     ##      ###                         ###        ##     ##    #    #    #   #   #   #   #  #   #  #  #  #  #  #    #  #    #    #    # #    # #      # # # #                     # # # #        # #      # #    #    # #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  #   #   #   #  #   #   #   #   #   #   #   #    #   #
  #      #  #      #  #  #         #  #  #  #  #  #       #  #  #  #    #  #    #  # #  #    #    # #    #    # #      # #        # # # #                     # # # #      # #    # #    #    #    #  #    #  #  #  #  #  #   #  #   #   #   #   #    #    #     #     ###       ###                        ###       ##     #    #   #   #  #        #  # #    # # # # #      #           #   #    #     ###             ##     ##   #   #  #  # #             #  #  #   #   #      ############      #   #   #  #  #             # #  #  #   #   #     ###                 ###     ##    ##   #    #    #   #    #     #       ###         ###     #       #  # #         #  #  #   #      #########     #    #  #    #         #        #   #    ##                ###    #    #   #  #  #    #               # #    #  #  #  #   #   #   #    ##     ##        ####               ####         ##      ##    ##    #    #   #   #   #   #  #   #  #  #  #  #  #  #    #  #    #    # #    # #    # # #        # # # # # # # # # # #          # #      # #      #    # #    #    #    #    #  #    #  #    #  #  #  #                          #  #  #  #      #  #      #  #   #  #   #   #  #   #   #      #   #   #   #   #   #   #    #   
 #  #   #  #  #      #  #  #  #  #              #  #  #  #  #       #  #    #  #    #    #    #    # #    #      # #      # #          # # # # # # # # # # #          # #      #      #    #    #  #    #  #  #  #  #  #  #   #  #   #   #   #   #    #    ##    ##      ##        #####               ####        ##     ##    #   ##  #   #  #  #  #    #    # # # # # #    #    #  #  #   #   #     ##                     ##    #   #  #  #  #      # #    # #  #  #   #    #        #####        ##   #   #     #  # # #   # # #  #     #  #    #    ###                     ##      ##    ##    #    ##    #     ##          ######        ##   #   #  #  # #       #        #    ##              #    #   #  #    # # # # #  #     #  ##   ##                     ##    #   #   #  #  #    # #             #    #    #      #  #   #    #    ##     ###          ##############           ###      ##     #    ##   #    #   #   #   #  #   #  #  #  #  #  #  #  #    #  # #  # #    #    # # #      # # #                         # # # #      # # #    # #    # #    #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #  #   #   #   #  #   #   #   #   #   #   #   ##  
#  #      #  #  #      #  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    # #    # #    # #        # # #                           # # # #      # #    # #    #    #  #    #  #  #        #  #  #      #   #   #   #   ##   #     #     ##      ##           ################          ##     ##    #    #   #   #  #  #  #    #    # # # # # #      #  #     #  #   #    ##     ####         ###      #    #   #  #  # #    # # #    # #  #  #   #    ##                   #    ##      #    #    # # #      #  #  #   #   #    ##          ######           ##      ##     #      #      ###                     ##    ##      #    # #     #    #  #   ##     ###    ####     #   #  #  #    # # #    #        #    #     ####       ####      #    #   #  #  #  #    # #           # #    #  #  #  #  #   #   #    #     #      ###                              ###       ##     #     #    #    #   #   #   #  #   #  #  #           #  #  #    #    #    #    # #    # # #        # # # # # # # # # # # # #        # # #      # #    # #    #    # #  # #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #      #   #   #  #   #   #   #   #   #   #   #  
  #  #   #  #  #  #      #  #  #  #  #  #  #  #  #       #  #  #    #  #    #    #  # #  # #    #    # #    # #      # #        # # # # # # # # # # # # # # #        # #      #    # #  # #  #    #  #       #  #      #  #  #   #   #   #   #   ##   ##    ##     ##      ###                                ##      ##    ##   #    #  #   #  #  #    #    # # # # # # #    #    #  #  #   #    #    ##                    ##     #   #        #    # # # # #    #  #   #   #    ##                ##     #   #  #  #  # #           #    #  #   #   #    #       ###            ####         ##       ##       ###                     ##     #   #  #  #  # #     # #        #    #                 #    #        #           #    #   #   #    ##                 ##     #   #   #        #    # #         # #    #    #  #  #   #   #   #    #     ##       ###                        ###        ##     ##    ##    #   ##   #   #   #  #   #  #      #  #  #    #  #  #    #    #    # #    # #      # # #                               # # #      # # #    # #    #    # #    #    #  # #  #    #  #    #  #  #  #       #  #  #  #  #  #         #  #  #      #  #      #  #   #  #   #   #  #   #   #      #   #   #   #   #   #   # 
 #  #      #  #  #  #         #  #  #  #          #  #  #  #    #  #    #  # #  #    #    #    # #    # #    # #      # # #            # # # # # # #          # # #      # #    #    # #  #    #       #  #  #  #  #  #   #  #   #   #   #   #    #    #     #     ##        ###                           ###      ##     #    #   #   #           #  #    # # # #   # # #    #  #     #  #   #    ##      ###         ###      #    #   #  #  #    # #     # #    #  #   #   #     ##              ##     #   #   #  #    # #       # #    #  #      #    #     ###                          ####         ###                        ##     #    #  #  #  # #       # #  #  #   #    ##           ###    #   #  #  # #         #    #  #   #    #        #######        ##    #   #   #  #    #  # #           # #    #           #  #   #    #    #     ##        #####               #####        ###     ##     #    ##   #    #   #   #      #      #  #  #  #  #  #    #  #    #    #    # #    # # #      # # # # #               # # # # #        # #      # #    # #    #    #    #    #    #  #    #  #       #  #  #  #                    #  #  #  #  #   #  #  #   #  #      #      #   #  #   #   #      #   #   #   #   #   #   #
#  #  #      #  #  #  #  #                 #  #  #  #       #  #    #  #    #    #    #    #    # #    # #    # # #      # # # #                       # # # #      # #      #    # #  #    #    #  #  #  #  #  #  #  #      #   #   #   #   #    #    #     ##     ##        ####                     ####       ##     #    #    #   #  #        #  #    # #         # # #    #  #  #  #   #   ##    ##                     ##    #   #   #  #    #           #    #  #   #   #     ##             ###    ##   #        #  # #       # #    #  #  #   #   #     #       ####                ######                                  ##    #    #  #  #  #           # #  #  #    #      #########      #   #        #         # #  #  #  #    #     ###            ##      #    #   #  #  #  #    # #           # #    #  #  #  #  #   #   #   ##    #      ##          ################           ###      #     ##    #    #    #   #   #   #  #   #  #  #  #  #  #  #  #    #  #    #    # #    # #    # # #          # # # # # # # # # #          # # #    # # #    # #    #    # #  # #  #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #   #  #   #  #   #  #   #   #      #   #   #   #   #   #   
  #  #      #  #  #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #  # #  #    # #    #    # #    # #      # # #        # # # # # # # # # # # # #        # # #    # #    #    # #  #    #  #       #  #         #  #   #   #  #    #   #    #    ##    ##      ##         #####              #####        ##     ##    #   #   #   #  #     #  #    # #             # #  #    #      #   #    #      ####          ###     ##   ##  #        #      # #      #  #  #   #   #     ###           ###     #    #  #     #  # # #     # #    #  #  #  #   #    #     ##          #######################             ######       ##    ##   #        #    # # # #    #  #   #   ##                 ##   #   #  #  # #       # #        #   #    ##                    ##    #    #  #        #    #             # #  # #  #  #  #  #   #   #    #     #      ###                                 ##       ##     #     #    #    #   #   #   #  #   #  #                 #  #    #  #    # #  # #    # #      # # # #                           # # # #      # #      # #    #    # #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  #   #   #      #   #   #   #   #   #  
 #  #  #      #  #  #  #  #  #  #  #  #  #  #       #  #    #  #    #  #    #    #    #    # #    # #    # #      # # # #            # # # # #            # # #      # #    #    # #  #    #  #    #  #  #  #  #  #   #  #   #  #   #    #   #    #    ##     #       ##          ##################          ##      #    ##   #   #   #  #  #  #  #    #                 #    #  #  #  #   #   #     ##                      #     #   #  #     #    # # # # #    #  #  #  #    #     ###           ###     #    #  #  #  #  # #         # #    #  #      #   ##    #      ##           ############                     ###      #    #   #   #  #    #         #    #  #   #    ##              ##    #   #  #    #         #    #  #   #   ##     ####        ###      ##   #   #   #  #  #    # #             # #  #    #  #  #   #   #   #    #     #       ###                            ###       ##     ##    ##    #    #   #   #   #   #  #      #  #  #  #  #    #  #  # #  #    # #    #      # #        # # # # # # #   # # # # # # # #      # # #      # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #      #  #  #  #   #  #  #   #  #   #  #   #  #   #   #      #   #   #   #   #   # 
#  #  #  #      #  #  #  #  #  #  #  #  #    #  #  #  #    #  #    #    #  # #  # #    #    # #    # #    # # #      # # # #                       # # # #      # #      #    # #  # #  #    #  #  #           #  #  #   #  #   #   #   ##   #    #     #     ##      ###             #########             ##      ##    #    #   #   #  #  #  #  #    #      # # # # #    #    #  #  #   #   #   ##     ###              ##     ##   #   #  #  #  # #           #    #      #   ##     ##            ###     #    #  #     #  # #           # #  #     #  #   #   ##    #      ##          #####                ###        ##    ##   #   #        #    # # # #    #  #  #   ##    ###        ###     #   #   #    #         # #  #  #  #   #     #                   ##     #   #   #        #  # #               # #  #    #  #      #   #   ##   ##     ##       ###                       ####       ###     ##    ##    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #    #  #    #    # #    # #      # #          # # # # # # # # #            # # #      # #    # #    #    # #    #    #  #    #    #  #  #    #  #  #          #  #  #  #            #  #  #      #  #  #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #
  #  #  #         #  #  #  #  #  #       #  #  #  #    #  #    #  #    #    #    #    # #    #      # #    # # #        # # # # # # # # # # # # # # #      # # #    # #    # #  # #  #    #  #    #  #  #  #  #      #  #   #   #   #   #    #    #     #     ##       ###                               ###      ##    ##    #   #   #  #  #  #  #  # #    # # # # # # #    #    #  #      #   ##    ##        ########        ##    #   #  #  #  #    # # # # #    #  #  #   #   #     ###            ###     #    #           #      # # #    # #  #  #  #  #   #    #    ##     ##        ###          ###        ##      #    #   #   #  #  #  #             #     #  #   ##      ##########     ##   #        #           #    #  #   #    #      ####      ####      #    #   #   #  #  #    #      # # #      # #  #    #      #  #   #    #    ##     ##        ####                #####         ##      #     ##    #    #   #   #   #   #   #  #  #      #  #       #  #    #  #    # #  # #    # #      # # # #                           # # # #      # # #    # #    # #    #    #    #    #    #  #    #  #       #  #  #  #                    #  #  #  #  #      #  #      #  #   #  #   #  #   #   #  #   #   #   #   #   #   
 #  #  #  #            #  #          #  #  #  #    #  #  #    #    #  # #  # #  # #    #    # #      # #      # # #          # # # # # # # #          # # #      # #    # #    #    #  #    #  #  #  #  #  #  #  #      #   #   #   #   #    #    #     #      ##       ###                            ###       #     ##   ##   #   #  #        #  #    # #           # #    #    #      #   #   ##     ##                  ##     #   #   #  #  #  # #         # #           #   ##     ##              ###    ##   #   #  #  #    # # # # # # #    #  #  #  #  #   #    #    ##     #       ##       ###      ##     ##    #    #   #  #     #  # #         #    #  #   #   ##       #####        #    #  #     #      #      #        #   #     #                   ##     #    #  #   #       #      # # # # #    # #  #           #   #   #   #     #      ##         ########    ########          ##      ##     #     #    #   #    #      #   #  #   #  #  #  #  #  #  #    #  #    #    # #    #      # #        # # # # #           # # # # # #        # #      # #    # #    # #  # #    #  # #  #    #  #    #  #       #  #  #  #  #           #  #  #  #  #  #      #  #      #  #   #  #   #  #   #   #  #   #   #   #   #  #   
#  #  #  #  #                    #  #  #  #       #  #    #  #    #    #    #    #    # #    # #    # # #      # # # #                           # # # #      # #    # #    #    #    #  #  #    #  #  #  #      #  #   #  #   #   ##   #    #    #     #      ##        ###                         ###       ##     #    #    #   #  #           #    #      # # #      # #  #        #  #   ##    #      ####        ####      #    #   #  #  #  #    # # # # #    #  #  #       #     ##                ##     #    #  #  #  #  # #             # #  #        #  #   #   ##   ##    ##     ##     ##      #     ##    #    #   #      #    #  # # #   # # #  #     #  #    ##                  ##    #  #     #    # # # #    #  #  #   #   ##      ###       ####      ##    #   #  #  #  #  #    # # # # # # #      #  #           #   #   #    #    ##      ##           #############            ###      ##     #     #    #   #    #   #   #  #   #  #  #              #  #    #  #    #    # #    # #    # # #        # # # # # # # # # # # #        # # #      # #      #    # #    #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #   #  #   #   #   #  #   #  
  #  #  #  #  #           #  #  #  #  #  #    #  #    #  #    #  #    #    # #  # #    # #    # #    # # #        # # # # #               # # # # #      # # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #   #   #    #   ##    #     ##     ##         ####                    ####        ##     #    #    #   #  #   #  #    #  #      # # # # # #      #  #        #   #   #     ##                      ##    ##   #           # #           #    #  #   #   #    ##                   ##     #   #   #  #  #    # # #     # # #  # #  #  #  #   #  #    #   #    ##    ##    ##    ##    #    ##   #   #   #  #  #  #    # # # # # #    #  #  #   #    ##                 ##   ##  #        # #     # #    #  #       #    ##                    ##    ##   #   #  #  #  #    # # #         # #    #  #        #  #   #   #    #     #      ###                                 ###       ##     #     #    #    #   #   #   #   #  #      #  #  #  #  #  #    #  #    #    #    # #    # #      # # #                                 # # #      # #      # #    #    # #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #      #   #   #  #   #   # 
 #  #  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    #    # #      # #    # # #        # # # # # # # # # # # # # #        # #      # #    #    #    #    #  #       #  #  #  #      #  #   #   #   #   #   #    #     #     ##     ###        #####                 ####        ##     ##    #    #   #      #  #  #    #    # #           # #    #  #     #  #   #    #      ##                ###     #    #      #  # #  # # # # # #    #        #   #    ##                      ##    #   #           #    # # # # #      #       #  #   #  #   #    #   #    #    ##    #    #   ##   #   #      #  #  #    # # #     # #    #  #  #   #    ##                 #     #      #    #           #    #  #   #    #     ###           ###      #    #   #   #  #  #    # #               #    #       #   #  #   #   #    ##    ##      ###                              ###       ##      #     #    #    #   #   #   #   #      #  #  #           #  #  #    #    #    #    # #    # #      # # # # #                     # # # # #      # #      # #    # #    #    #    #    #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  #   #   #  #   #   #   #
#  #  #  #  #  #  #  #  #  #  #  #       #  #       #    #  #    #    #    #    # #    # #    # #      # # # #          # # # # # # # #          # # #      # #    # #  # #  # #  #    #  #  #  #  #  #  #  #  #   #      #   #   ##   #    #    ##     #      ###         ######           ######         ##     ##    #    #   #   #  #  #  #  #    #      # # # #      # #  #        #   #   #    ##      #####     #####      ##   ##   #  #  #  # #    # # #      #  #  #  #   #    #       ###########       ##    #   #  #     #  # #      # #      # #  #    #  #   #  #   #   #   #   #    #   #    #   #   #   #   #  #  #  #    # #           #    #  #  #   #     #                 ##    #   #  #  #    # # # #    #    #   #   #    ##          #           ##    #    #  #        #  #      # # # # #    # #  #    #  #      #   #   ##   ##     #       ###                           ####       ##      #     #    #    #    #   #   #  #   #  #   #  #  #  #  #  #    #  #    #  # #  # #    # #    # # #      # # # # # # # # # # # # # # # #        # # #    # #      #    # #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  #   #   #  #   #   #   
  #  #  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #  # #  #    # #  # #    #      #      # #        # # #                             # # # #      # #    # #    #    #    #  #       #  #  #  #  #      #  #   #   #   #   #    #    #    ##     #       ##          ########## #########         ###     ##    #    #   #   #  #     #  #  # #    # #       # # #    #  #        #   #   ##    ##                       ##    #    #  #     #  # #           # #  #  #  #   #    #      ###          ###      #    #   #  #     #  # #               # #  #    #  #  #      #      #   #   #   #   #   #   #   #  #  #  #  #    #      # # #      #  #  #  #   #    ##                 ##    #   #  #  #  # #       # #           #    #     ##               ###     #    #   #  #     #  #    # # # # # # # #    #    #  #  #      #   #   ##    #     ##       ####                       ####        ##      #     #    ##   ##   #   #   #   #  #   #  #  #              #  #    #  #    #    # #    # #    # # #          # # # # # # # # # # #          # # #    # # #    # #    #    # #    #    #  #    #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #      #   #  #   #  #   #   #   #  
 #  #  #  #  #  #  #  #  #  #       #  #  #    #  #    #    #    #    #    #    # #    # #      # #        # # # #                     # # # #        # #    # #    #    #    #    #  #  #              #  #  #   #      #   #    #   #    ##    #     ##       ##           #################          ##      ##    #    #   #   #      #  #    #    #        #        # #  #        #  #   #    #     ###                  ##     #    #      #  #    # #       # #    #  #  #   #   #     ##                 ###    ##   #   #        #  # #               # #    #  #        #  #  #   #  #   #   #  #   #  #      #  #  #    #    # #       # # #  #        #   #    ##                  #    ##      #    #    # # #    #        #   #   ##       ############       #    #    #  #  #  #  #    # #             # #  # #  #  #  #  #   #   #    #    #     ##        ####                    ####         ##      #     ##    #    #   #    #      #   #  #   #  #  #  #  #  #  #    #  #    #    #    # #    # #      # # #            # # # #              # # # #      # #    # #    # #    #    #    #    #    #  # #  #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #      #  #      #  #   #  #   #   #  #   #   #     
#  #  #  #  #  #  #  #  #  #       #  #       #    #  #    #    #    #    # #    #      # #    # # #        # # # # # # # # # # # # # # # #        # #    # #    # #    #  # #  #    #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    #     #     ##      ###            #############            ##      ##    #    #   #   #   #  #  #  #    #    # # # # # # # #    #    #  #      #   ##   ##      ###            ###      #    #   #  #  #  #    # # # # # #    #  #  #   #   #    ##                      ##    #    #      #       #      # # # #      # #    #  #  #     #  #  #  #      #  #      #  #  #  #    #  # #    # # # # #    # #  #  #  #   ##    #                   ##    #   #  #  #  # #       # #    #  #   #   #     ##                    ##    ##   #   #  #  #  #  # #    # # # # #      #    #  #  #  #  #   #   #    #    #      ##        ####                 #####         ##      ##    ##    #    #    #   #   #   #  #   #  #      #  #  #       #  #    #  # #  # #    #      # #      # # # #                           # # # #      # #      # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #  #   #  #  #   #  #   #  #   #      #   #      # 
  #  #  #  #  #  #  #  #  #    #  #  #    #  #    #  #    #    #    #    # #    # #    # #      # # #        # # # # # # # # # # # # #        # # #      #      #    #    #    #  #       #  #  #  #      #  #   #  #   #   #    #   ##   ##    ##     ##      ###             ##########             ##      ##    ##   ##   #   #  #  #     #  #    # #               # #    #  #  #      #    #    ##       ############       ##    #   #   #  #    #    # # # #      #  #  #  #   #    ##      ####      ####       #    #   #   #  #  #    #    # # # # # # #      #    #  #    #  #  #  #  #  #  #        #  #  #    #    #               # #       #   #   #    #         ####        ##    #   #  #  # #    # # #    # #  #  #   #    #     ###             ###     ##    #   #  #  #  #  #    # # #       # # #    #  #        #  #   #   #   ##    ##     ##         #####             #####          ##      ##     #    ##   ##   #   #   #   #   #      #  #  #  #  #  #  #  #    #  #    #    #      #      # #      # # # # #                 # # # # #        # # #    # #      #    # #    #    #    #  # #  #    #  #    #  #  #  #       #  #  #  #  #  #  #  #      #  #  #  #   #  #  #   #  #   #  #   #  #   #   #  #   #
 #  #  #  #  #  #  #  #  #    #  #  #    #  #    #  # #  #    #    # #    #    # #      # #      # # #          # # # # # # # # #          # # #      # #    #    # #  # #  #    #  #  #           #  #  #      #   #   #   #   #    #    #     #      #       ###               #####               ##      ##     #    #   #   #      #  #  #    #    # # # # # # # #    # #  #  #  #      #    #     ##                      ##     #   #   #  #  #  #      # # #      #  #  #  #   #   ##    ###                 ##     #    #   #           #    # #               # #    #    #  #    #  #  #  #  #    #  #  # #  #    # #               #    #     #  #   #    #       ##########       #    #  #        # #         #    #  #  #   #    ##       ###########       ##    #   #   #  #  #  #    #        #        # #  #    #  #  #   #   #   #   ##    ##     ##         #######        #######          ##      ##     #     #    #    #   #   #   #      #      #  #  #  #  #  #    #  #    #    #    #    # #      # #        # # # # # # # # # # # # # # #        # # #      # #    # #    #    # #    #  # #  #    #    #  #       #  #  #       #  #  #  #  #  #  #  #         #  #  #      #  #   #  #      #      #   #  #   #   
#  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #  # #  # #    #    # #    # #    # #      # # # #                                 # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #      #      #   #   #    #   ##   ##    ##     ##       ###                                  ##      ##     #    #   #   #   #  #  #  #  #    # #      # #        #    #  #  #  #  #   ##   ##     ##                   ##     #    #   #  #  #    #      # #      #           #   #     #         ######         ##    ##   #   #  #  #  #    #    # # # # # # # #      #    #    #    #  #    #  # #  #    #      # #             # #    #  #  #  #   #    #      ###        ###      #    #  #  #  #    # # # # #    #  #  #  #   ##    ##                     ##    ##   #   #  #     #  #    # # # # # # # #    #    #  #  #  #      #   ##   ##    #      ##          ###################           ##       #     ##    ##   ##   #   #    #  #   #   #  #  #                 #  #    #  #    #    # #    # #    # # #          # # # # # # # # # # # #        # # #      # #      #      #    #    # #  # #  #    #  # #  #  #    #  #  #       #  #  #  #  #  #  #  #  #      #  #  #      #  #      #  #   #  #   #      #   #  
  #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    #    # #    # #    # # #      # # # #                             # # #      # #      #    # #    #  #    #  #    #  #  #  #  #      #  #   #   #  #    #   #    #    #     #      ##      ###                                  ###      ##    ##   ##   #   #  #   #  #       #    # # #         # #    #    #  #   #  #   ##   ##      ###              ##      #    #   #   #  #    #      # #      #    #  #   #  ##   ##     ###             ###      #    #   #   #  #  #  #    # #      # # # # #      # #    # #    #    #    #    # #    # #        # #        #    #        #   #   #     ###              ##     #    #  #  #  #      # # #    #    #      #    #     ###               ##      #    #   #  #        #    #               # #    #  #        #  #   #   #    #     #      ##           #################           ###      ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #       #    #    #    #      # #    # # #            # # # # # # # #          # # # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #         #  #  #   #  #  #   #  #   #  #   #  #   #   # 
 #  #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    #    # #    # #      # #        # # # #                       # # # #        # #    # #    #    #    #    #  #  #       #         #  #      #   #   #   #   #    #    ##    ##     ##       ###                                 ###      ##     #    #   #   #   #  #  #  #  #    #      # # # # #      #    #  #  #  #   #   ##    #       ####       #####      ##    #   #  #     #  #      # # #    # #  #  #  #   #   #     ##                      ##     #   #   #   #  #  #  # #  # #        # # # #        # #      #      #      #      # # # # # # # # #      #       #   #  #    #    ##                   ##    ##   #  #  #  # #           # #  #  #  #   #    ##      ####      ####       #    ##   #      #  #    #    # # # # # # # #    #    #  #  #  #   #   #   #    #     #      ##           ################           ###      ##     ##    ##   ##   #    #   #   #  #   #  #   #  #  #  #  #  #       #  #    #    #    # #    # #      # # #                                   # # #      # #      # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #      #  #      #  #   #  #   #   #  # 
      #  #  #  #  #  #    #  #  #    #  #    #    #    #    #    #      #      # #    # # #        # # # # #               # # # # #        # #      #    # #    #    #  #    #  #  #  #     #  #  #  #   #  #   #   #   #    #   ##    #     #     ##       ###                                  ##       #     #    #    #   #  #   #  #  #    #    # #             # #    #  #     #  #   #   ##    ##        ##########        ##    #   #   #  #  #  #      # # #      #    #  #   #   #    #      ###           ####      ##    #   #   #  #  #  #  # #  # #      # # # # # # #        # # #      # # #        # # # #        # #    #  #  #  #   #   #    ##       #########       ##    #   #  #  #    #         # #  #        #   #    ##         ######         ##    #    #      #  #  #    # #               # #    #  #  #  #  #      #    #   ##    ##      ##            ##############            ##       ##     #     #    #    #   #   #   #   #   #  #  #      #  #  #       #  #    #  # #  # #    # #    # #      # # # #                             # # #        # #      # #    #    # #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #  #   #  #   #  #   #  #   #
        #  #  #  #  #    #  #  #    #  #    #    #    #    #    # #    #      # #      # #        # # # # # # # #   # # # # # # #        # # #    # #    #    # #  #    #       #  #  #  #  #  #  #   #  #   #  #   #    #   #    #    #     #      ##       ###                                 ###      ##     #    #   #   #   #  #     #  #  # #    # # # # # # # #    #    #  #  #   #   #   ##    ##                        ##     #   #   #  #  #  #      # # # #      #  #  #  #   #   #     ##                       ##     #   ##   #  #        #  #    #      # # # #           # # # # # #                         # #    #       #      #   #    #      ##            ###     ##   #   #  #  #    # #     # #    #  #  #   #   #     ##                    ##     #    #   #  #  #  #  # #    # # #     # # #    #    #  #  #      #   #   #    #     ##      ##            #############            ###      ##     ##    ##    #   ##   #   #   #   #  #   #  #  #           #  #  #    #  #    #    #    # #    # # #      # # # #                         # # # #      # # #    # #      #    # #    #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #      #      #      #   
          #  #  #  #    #  #  #    #  #    #    #    #    #    # #    # #    # #      # # #        # # # # # # # # # # # # # # #        # #      # #    #    #    #    #  #    #  #  #  #  #  #      #  #   #   #   #   #   #    #    ##    ##     ##       ###                                  ##       #     ##   ##   #   #      #  #  #  #    # #      # # # #      #    #  #  #  #  #   ##   ##    ###                     ##     #    #   #  #  #  #    # # # # # #    #    #  #   #   #    #      ###             ###      ##    #   ##  #   #  #  #  #    #    # #        # # # # # # # # # # # # # # # #        # #    # #  #        #  #   #   ##    ##                    ##    ##   #  #  #  #    # # # # # #  #    #      #    #     ###               ###     ##    #   #  #        #  # #      # # # #      #    #  #  #  #  #   #  #    #    #     #      ###           #############             ##       ##     ##    #    ##   #    #   #   #      #      #  #  #  #  #  #  #  #    #  # #  #    # #    # #    # #        # # # #                   # # # # #        # # #    # #    # #    # #    #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #   #  #   #  #   #  
 #          #  #  #       #  #    #  #    #    #    #    #    # #    # #    # #      # # #        # # # # # # # # # # # # # #        # # #    # #    # #    #    #  # #  #  #    #  #  #  #      #  #      #   #   #   #   ##   #    ##    ##     ##       ###                                  ###      ##     #    #    #   #  #      #       #    # #               # #  #    #  #      #   #    #      ##                   ###     #    #   #  #  #  #    # #       # #    #        #  #    #    ##         ########         ##     #   ##   #  #           #  #    #      # #      # # # # #            # # #      #    # #  #        #  #   #   #    ##       ############       #    #   #        #    # # # # #    #     #  #   #    #      ####         ####      ##    #   #      #  #    #    # #           # #    #    #  #  #      #   #   #    ##    ##      ##            #############            ###       ##     #     #    #    #   #    #      #   #  #   #  #  #  #  #  #  #    #  #    #    #    #    # #      # #        # # # # #             # # # # # #        # #      # #    # #    # #    #    #    #    #  #    #  #    #  #       #  #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      #  #   #     
#  #       #  #  #  #    #  #    #  #    #    #    #    #    # #    # #    # #      # # #          # # # # # # # # # # # #        # # #      # #    # #  # #  # #  #    #  #          #         #  #   #  #   #   #   #    #   ##    #    ##     ##       ###                ####               ###      ##    ##    #   #   #   #  #  #  #  #  # #    # #         # # #    #  #     #  #   #   #    #      ##                  ##     ##    #   #  #  #  #    #             #    #  #  #  #   #    #     ###                   ###     #    ##   #   #  #        #  #  # #  # #    # #    # # #      # # #      # #    #    #  #    #  #   #  #   #    ##     ##                 ###    ##   #   #  #  #    # # # # # #    #  #  #  #   ##    #       ############        #     #   #   #  #  #  #  # #    # # # # # # #    #    #        #  #      #    #    #    ##      ###           ##############            ###      ##      #     #    #    #   #   #   #   #   #  #      #  #  #  #  #       #  #    #    #    #      #      # #        # # # # # # # # # # # # # # # #        # # #      # #    # #    # #    #    #    #    #  #    #  #    #  #    #  #  #  #  #                    #  #  #  #  #      #  #      #  #   #  #   #  # 
  #  #       #  #  #    #  #    #  #    #    #    #    #    # #    # #    # #      # # # #          # # # # # # # # # #          # # #      #      #    # #  #    #    #  #  #              #  #  #   #  #   #   #   #    #   ##    #     #     ##       ###              #########             ###      ##    ##   ##   #   #   #  #  #  #  #    #      # # # # # # #    #    #  #  #  #   #   ##    #      ###               ###     ##    #   #  #  #  #  # #    # # # #    # #  #  #  #   #   #    ##      ####          ####      ##    ##   #   #   #  #           #  #    #    # #    # #    # #    # #    #    #    #  #  #  #  #   #   #   #     #        ###########       ##    #   #  #  #  #    # # # # # #    #  #  #   #   #    ##          ####          ##     #   #   #      #    #  # #      # #        # #  # #  #  #  #  #   #   #   #    #     ##     ###           ###############            ###      ##     ##    ##    #   ##   #   #   #   #      #  #      #  #  #       #  #    #  #    #    # #    # #    # # #        # # # # # # # # # # # # # # #        # # #      # #    # #    # #    #    #    #    #  #    #    #  #  #    #  #  #  #             #               #  #  #  #      #  #      #  #   #  #   #
 #  #  #       #  #    #  #    #  #    #    #    #    #    # #    # #    # #        # # #          # # # # # # # # #            # #      # #    # #    #    #    #       #  #  #        #  #  #  #   #      #   #   #    #    #    #     #     ##       ###            #############            ###      #     #    #    #   #  #   #  #  #    #  # #      # # # #      # #  #    #      #   #   #    ##      ###             ###      ##    #   #  #        #    # # # # # # #    #  #  #  #   #    #    ##          #######          ##     #    #   #   #      #  #  #  #    #  #    #    #    # #    #    #    #  #    #  #  #      #   #   #    #      ##                  ##     #    #      #  #    # # # # # # #    #  #  #   #   ##    ##                      ##     #   ##      #  #  #  #    # #             # #    #       #  #   #  #   #   ##   ##    ##      ##           #################           ###      ##     ##    ##   ##   #    #   #   #   #  #   #  #  #              #  #  #    #  # #  # #  # #    # #      # #        # # # # # # # # # # # # # # #        # # #      # #    # #    # #    #    #    #    #  # #  #    #  #       #  #  #       #  #  #  #  #  #  #         #  #  #  #   #  #  #   #  #      #   
#  #  #  #    #  #  #    #  #    #    #    #    #    #    # #    # #    # #        # # #          # # # # # # # # #          # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #      #   #  #   #   ##   #    #    #     #     ##       ##            ################           ###      #     #    #    #   #  #      #    #  #    # #               # #    #  #  #  #  #   #   ##    #       ###           ####      ##    #   #      #  #    # #             #    #  #  #   #   #   ##     ##                      ##      #    ##   #   #   #  #  #        #  #  #    #  #    #    #  #    #  #    #  #  #      #   #   #   ##    ##       #############       ##    #   #  #  #  #    # #       # #    #  #      #    #     ##                   ###     #    #   #      #       #    # # # # # # # #    #    #  #     #  #   #  #    #    #    ##      ##           ##################           ###      ##     ##    #    ##   #    #   #   #   #  #   #  #  #              #  #  #    #    #  # #    #    # #      # # #        # # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #      #  #  #  #   #  #  #   #  #   #  
  #  #  #       #  #    #  #    #    #  # #  # #    #    # #    # #    # #        # # #            # # # # # # #            # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #    #   #    #    #     #     ##       ##           ###################           ##      #     #    #   #   #   #  #        #  # #  # # #           # #    #    #  #  #      #    #    ##       ####         ####      ##    #   #   #  #  #  # #    # # # # #    # #  #  #  #   #   #    ##     ###                 ###      ##    #    #   #   #   #  #  #        #  #  #  #    #  #  #    #  #  #  #  #  #   #  #   #   ##    #     ##                      ##    ##   #   #  #  #    #           # #    #  #   #   #   ##     ##                 ##      #    #   #   #  #  #  #    #      # # # # #    # #    #  #  #  #  #   #   #   #    #     #      ##          #########  ##########          ###      ##     ##    #    ##   #    #   #   #      #      #  #  #  #  #  #  #  #       #    #    #    #      # #    # # #        # # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #         #  #  #   #  #      #  #  
 #  #  #  #    #  #    #  #    #  # #  # #  # #  # #    # #    # #    # #      # # # #            # # # # # # #            # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #    #   #    #    #     #     ##      ###          #######         ######          ##      #     #    #   #   #   #  #  #  #  #    #    # # #       # # #    #    #  #  #   #   #   #     #       ####        #####      ##    #   #   #        #    #           # #    #  #  #  #   #   #     #       ####          ####        #     #    #    #   #      #  #      #  #  #  #          #  #  #  #      #  #   #  #    #   #     #       ###             ###      #    #   #   #  #    #      # #      #    #  #   #   #   ##     ###              ###      ##   ##   #      #  #    #  # #                 #    #    #  #  #      #   #   #    #     #      ##          ######          ######          ###      ##     ##    #    #    #    #   #   #  #   #      #  #  #  #  #  #  #  #    #  #    #    #    # #    # #    # # #          # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #      # 
   #  #  #       #  #    #    #  #    #    #    # #    #      #      # #      # # # #          # # # # # # # #            # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #    #   #    #    #    ##     ##      ##          #####               #####         ##      ##    #    #   #   #   #  #  #  #  #    #    # # # # # # # #      #  #           #   #   ##    ##       ####       #####       #    ##   #      #  #    #    # # # # #      #  #     #  #   #   ##    ##        ##############        ##     ##    #   ##   #      #   #  #  #      #  #  #  #  #  #      #  #   #  #   #    #    #     ##         ##########        ##    #    #  #        #    # # # # #    # #  #  #   #   #    #      ###            ###      ##    #   #   #        #  #    # #             # #    #  #    #  #   #  #   #   #    #     #      ##         #####               #####          ##      ##     ##    #    #    #   ##   #   #  #   #      #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # #          # # # # # # # # # # # #          # # #      # #    # #    # #    #    # #  # #  #    #    #  #    #  #       #  #  #  #                       #  #  #  #  #      #  #  #   #  #   #
#    #  #  #    #  #    #  #    #    #    #    # #    #    # #      # #      # # #            # # # # # # # #            # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #   ##   #    #    #    ##     #      ###         ####                    ####         ##     ##    #    #   #   #   #  #  #  #  #    #      # # # # # # #    # #  #        #  #   #    #    ##       ####        ####       ##    #   #   #  #  #  #    #             # #  #    #      #   #    #     ##         #########          ##      #    ##   #    #   #   #  #   #  #      #  #      #  #   #  #   #   #   #    #    ##     ###                      ###    ##   #   #        #    # #       # #    #  #  #   #   #    #       ###         ####       #    ##   #   #  #  #  #  # #    # # #     # # #    # #  #           #  #   #   ##   ##    #      ##        #####                  #####         ##       #     ##    #    ##   #   ##   #   #  #   #  #   #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # #          # # # # # # # # # # # #          # # #      # #      #      #    # #  # #    #  # #  #    #  #    #  #    #  #  #  #       #  #  #  #  #  #  #      #  #  #  #      #  #      #  #
  #    #  #  #    #  # #  #    #    #    #    #    # #    # #    # # #      # # #            # # # # # # # # #          # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #   #    #   ##   ##    #     ##      ##         ####                       ####        ##     ##    #    #   #   #   #  #  #  #  #    # #    # # # # # #      #    #  #  #  #  #   #    #    ##       ####         ####       #    ##   #      #  #    #    # # # # # #    # #  #  #  #   #   #    #     ##                            ##      #    ##    #   #   #   #   #   #      #   #  #   #      #   #   #    #    #     #       ##                  ###     ##    #   #  #     #  # #      #      # #  #  #  #  #    #    #       ####       ####       ##    #    #  #   #  #  #    #      # # # # # # #    #    #  #  #  #  #      #    #   ##    #      ##        ####                      ####         ##      ##    ##    ##   ##   #    #   #   #  #   #  #   #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # #          # # # # # # # # # # # # #        # # #      # #      # #    #    # #    #    #    #  # #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #      #  #  #      #  #      
 #  #    #  #    #  #    #    #  # #  # #    #    # #    # #    # #      # # # #          # # # # # # # # # #          # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #      #   #  #   #   #    #   #    ##    #     ##     ###        ###                            ###       ##      #    ##   #   #   #   #  #  #  #  # #  # #    # # # # # #      #    #  #  #  #      #    #    ##       ###           ####      ##    #   #   #        #  # #      # #      # #  #        #  #   ##   ##     ##                            ##      #     #    #    #   #   #   #   #   #   #   #   #   #   #   ##   #    ##     ##       ####           ####       #    #    #  #        #    # # # # # #    #           #   ##    #       #####    ######       #     #   #   #      #    #  # #    # # # # # #      #    #  #  #  #  #   #  #    #   ##    #     ##        ####                         ####        ##      ##     #    ##   ##   #    #   #   #  #   #  #   #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # #          # # # # # # # # # # # # #          # # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #       #  #  #  #  #  #  #  #  #  #  #  #  #  #      #  #  #   #  #  
#  #       #  #    #    #  #    #    #    # #    #      #      # #      # # #          # # # # # # # # # # # #        # # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #      #      #   #   #   ##   #    #    ##     #      ##        ###                               ###       ##     #    ##   #   #   #   #  #  #  #  # #  # #      # # # # #      #    #  #  #  #      #    #    ##      ####            ####      ##    #   #   #  #  #  #    # #           # #    #  #  #  #   #   #    #      ##                            ##      ##     #    #    #    #   #   #   ##   #   #   #   ##   #    #     #     ###        ###############        ##    #    #  #        #  # #             #    #  #  #   #   #    ##       ######  ######       ##    ##   #   #  #     #  #    #      # # # #      # #    #  #  #  #  #   #  #    #   #     #     ##       ###                             ####        ##     ##     #     #    #   #    #   #   #  #   #      #  #  #  #  #  #  #  #    #  #    #    #    # #    # #      # #        # # # # # # # # # # # # # # #        # # #      # #    # #    # #    #    # #  #    #    #    #  #    #  #  #    #  #  #  #  #                       #  #  #  #      #  #  #   # 
  #  #    #  #    #  #    #    #    #    #    # #    # #    # # #      # # #        # # # # # # # # # # # # #          # #      # #    # #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #   #   #   #   #    #    #    ##    ##     ##        ###                                  ###       #     ##    #   #    #  #   #  #  #  #  # #  # #      # # # # #      #    #  #  #  #      #    #    ##      ###               ###      #    ##   #      #  #    #    # # # # # # #    #           #  #    #    #     ##             ###              ##      ##     #    ##    #   ##   #    #   #    #    #   ##    #     #      ##          ###########         ##     #   ##  #   #  #    #    # # # # # #    #  #     #  #    #    ##       ##############       ##    #    #   #  #  #  #  #    # #      # #        # #  # #  #  #  #  #   #  #   ##   #    ##     ##      ###                                ####       ##      #     ##    #    #   ##   #   #   #      #      #  #  #  #  #  #  #  #    #  #    #    #    # #    # #    # # #        # # # # # # # # # # # # # # #        # # #      # #      # #    #    # #  # #    #  # #  #    #  #    #  #    #  #  #  #       #  #  #  #  #  #  #         #  #  #  #   #  #  # 
 #  #  #    #  #    #    #    #    #    #    # #    # #    # #      # # #          # # # # # # # # # # # # # #        # # #    # #    # #    #    #    #  #    #  #  #  #     #  #  #  #   #  #   #   #   #   #    #   ##    #     #      ##       ##              ###########             ###      ##     #    #    #   #      #  #  #  #  #    # #      # # # # #      #    #  #  #  #  #   #    #    #      ###                 ###      #    #    #  #           #      # # # # #    # #  #  #  #  #   #   #    #     ##          ###########           ###      ##     #    ##    #    #    #    #    #    ##    #     ##      ##           #########          ##     #    #   #  #  #  #    #               #    #  #  #   #   #     #       ######   ######       ##    #    #   #  #  #  #  #    # #                 #    #    #  #  #  #   #  #   #    #    ##    ##       ##                                    ###       ##     ##    ##    #    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    #      # #    # # #        # # # # # # # # # # # # # # # #        # # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #  #      #  #  #      #
   #  #  #    #    #  # #  #    #    # #    #    # #      # #      # #          # # # # # # # # # # # # # # #        # # #      #      #    #    #    #    #  #  #  #           #  #  #      #   #   #   #   #   #    #    ##    ##     ##       ##           ####################          ###      #     #    #    #   #   #  #  #  #  #  #    # #    # # # # # #      #    #  #  #  #  #   #   ##    #      ##                    ##      #    #       #        #  # #      # # #      #    #  #  #  #   #   #    #     ##         #################          ##      ##     ##    #     #    ##    #     #    ##     ##      ###            #######           ##     #    #   #  #        #    # #       # #    #        #  #    #    ##      #####      #####       ##    #    #      #  #  #  #    # #                 #    #    #  #  #  #      #   #    #    #     ##      ##             #############             ##       ##      #     #    ##   #    #   #   #   #   #  #   #  #  #  #        #  #  #       #    #    #    #    # #      # #        # # # # # #           # # # # # #        # # #      # #    # #    # #    #    #    #    #    #    #  #    #  #  #    #  #  #  #  #  #              #  #  #  #  #  #      #  #   
#    #  #    #  #    #    #    #    #    # #    # #    # #      # # #        # # # # # #           # # # # # #        # #      # #    #    # #  # #  #    #  #  #                 #  #  #   #   #  #   #    #   #    #    #     #     ##       ##          #####               #####         ###     ##     #    #   #   #   #  #        #  #    #      # # # # # #      #    #  #  #  #  #   #   #    ##     ##                      ###     #    #   #   #  #  #  #    #               # #    #  #  #      #   #    #     ##       ####               #####         ##      ##     ##     #     #     ##    ##     ##       ##            #########           ##     #    #   #   #  #  #    #    # # # # #    # #  #  #  #   #   #    ##      #####        ####       ##    #    #  #   #  #  #  # #  # #                 #    #    #  #  #  #  #   #   #    #    #    ##      ##           ####################           ##       ##     ##    ##    #   ##   #   #   #   #   #      #  #  #              #  #  #    #    #  # #    #    # #      # #        # # # # #                 # # # # #        # # #      # #    # #    #    # #    #    #  # #  #    #  #    #  #    #  #  #  #          #  #  #  #  #         #  #  #  #      #  
  #    #  #    #    #  # #  # #    #    #      #      # #    # # #        # # # # #                   # # # # #      # # #    # #    # #    #    #  #    #  #       #  #  #  #      #  #   #  #   #   #   #    #   ##    #    ##     #       ##         ####                      ####         ##     ##    #    #   ##  #   #              #    #      # # # # # # #    #    #        #  #   #   #    #     ###                        ##     ##   #   #   #  #  #  #    # #             # #  #    #  #      #   #    #     #       ###                        ###        ###      ##     ##     ##     ##      ##       ##           ##############          ##    ##    #   #  #        #  # #             # #       #      #   ##    #      ####           ####      ##    #    #      #  #  #  # #  # #                 #    # #  #  #  #  #  #   #   #   #    ##    ##     ###         #####               #####          ##       ##     #     #    #    #   #    #   #  #   #   #  #  #         #       #  #  #    #  # #  # #  # #    # #    # # #      # # # #                       # # # # #        # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #  #      #  #  #  
 #  #    #    #  #    #    #    #    # #    # #    # #      # #        # # # #                         # # # #        # #      #    # #    #    #    #  #  #    #  #  #  #  #  #   #  #      #   #   #   #   #    #    #     #     ##      ##        ###                             ###        ##     #     #   ##   #   #  #   #  #  #    #  # #    # # # # # # # #    # #  #    #      #  #    #   ##     ##         ########          ##     #   ##   #  #  #  #  #    # #             # #  #    #  #      #   #    #    ##     ###                                ###        ##       ##      ##      ##       ###          #######       ######        ##     #    #   #   #  #  #  #    # #         # #    #        #  #    #    #      ###              ###      ##    #    #      #  #  #  #    # #                 # #  # #  #  #  #  #  #   #   #   #    #    ##     ###        ####                      ####         ##      ##     ##    #    ##   #    #   #   #   #  #   #  #      #  #  #  #       #  #    #  #    #    # #    #      # #      # # # #                             # # # #      # # #      # #    # #    #    #    # #  # #  #    #    #  #    #  #  #    #  #  #  #  #  #              #  #  #  #  #  #      # 
#  #    #  #    #    #    #    #    #      #      #      # # #      # # # #                             # # # #      # # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    #    ##    ##      ##       ###                                  ###       ##     #    #    #   #   #   #  #  #  #  #    #      # #         # # #    #    #  #  #      #   #    #     ##        ##############        #     #    #   #  #  #  #  #    # #             # #  #    #  #  #   #   #   #    ##     ##         #######       ########           ###       ###       ##        ##          #####                   ###        #     #    #   #   #  #  #    #    # # # # # # #    #  #  #  #   #   #    #      ###                ###      #    ##   #   #  #  #  #  #    # #                 # #    #  #        #  #      #    #   ##    #      ##       ####                           ####        ##      ##     #     #    #   ##   #   #   #   #      #  #   #  #  #  #  #  #       #  #    #    #    #    # #    # # #      # # #                                 # # # #      # # #    # #    # #    # #    #    #    #    #  #    #    #  #  #    #  #  #  #       #  #  #  #  #  #  #         #  #  #  # 
  #  #    #  # #  #    #    # #  # #    # #    # #    # # #      # # # #                #                # # # #      # #    # #    # #  # #  #    #    #  #  #  #  #  #  #  #  #      #   #  #   #   #    #   #    #    ##    ##      ##       ##              ###########              ##       #     ##    #   #    #  #   #  #  #  #  #    #    # #             # #    #    #  #  #  #   #   #   ##    ##       ###            ####      ##    ##   #   #  #     #  #    # #             # #    #  #  #  #      #    #    #     #       ####                            ####          ###        ###          ####                             ###      ##    #    #   #      #  #    #    # # # # # #    # #  #  #  #   #   #    #     ###                   ###     ##    #   #   #  #  #  #  #    # #      # # #      # #    #       #      #  #   #   #    #    ##     ##       ###                                ####       ##      ##    ##    #    #    #   #   #   #   #   #  #      #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # # #              # # # # # #            # # # #      # #      # #    # #    #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #  #      #  #
    #  #    #    #    #    #    #    # #    # #      # #      # # #            # # # # # # # # #            # # #      # #    # #    #    #    #  #    #  #  #              #  #  #   #  #   #   #   #   #    #    #    #     #      #       ###          #########     ########          ###      #     #    #    #   #   #  #           #  #    # #                 # #    #  #     #  #  #   #    #    ##      ###                 ###      ##    #   #   #      #    #  # #               # #    #  #  #  #  #   #   #    #    ##      ##           ##################               ####          ####                ############            ###      #    ##   #   #      #       #      # # # # #    #    #  #  #   #   #   ##     ##                      ##      #    #   #   #  #     #  #    #      # # # # #      #    #    #  #  #      #   #   #   ##    #     ##      ###              ########               ###       ##      #     #     #    #   #    #   #   #  #   #      #  #  #  #  #  #  #  #  #    #  # #  #    # #    #      # #    # # #            # # # # # # # # # #          # # # #      # #    # #      #    # #    #    #    #  # #  #    #  #    #  #       #  #  #  #  #                    #  #  #  #  #   
 #    #  # #  #    #    #    # #    #      #      # #      # # #          # # # # # # # # # # # # #          # #      # #    # #    #    #    #    #  #  #    #  #  #  #      #  #  #   #   #  #   #    #   #    #    ##    ##     #       ##         #####                    ####         ##      #     #    #   #       #   #  #  #  #    #    #        # # #        #    #    #  #      #   #   #    ##     ###                      ###     #    ##   #      #  #  #    # #      # # #      # #  #    #      #  #   #    #    #     ##        ###                                 #####               ######                      #####        ##     ##    #   #   #      #    #  # #    # # # #      #    #  #  #   #   #   ##    ##                         ##     ##   #    #  #           #  # #    # # # # # # #    # #  # #  #  #  #  #   #  #   #    #    #     ##      ##           ####################           ###      ##     ##     #    #    #    #   #   #   #   #  #   #  #  #              #  #  #    #  #    #    #    # #    # #      # # #        # # # # # # # # # # # # # #        # # #      # # #    # #    # #    #    #    #    #    #    #  #    #  #    #  #  #  #       #  #  #  #  #  #  #  #  #      #  #  
#  #    #    #    #    #    #    # #    # #    # #      # # #        # # # # # # # # # # # # # # # #        # # #      # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #   #  #   #  #   #   #   #    #   ##   ##    ##     #      ###        ####                           ####       ##      #     #    #   #   #   #  #  #  #  #  #    # #    # # # # # # #    # #    #  #  #  #      #   ##   ##     ##            ###            ##     #    #   #   #  #  #  #    #    # # # # # #      #    #  #  #  #   #  #    #   ##    ##      ##          #######               ##########                                               ###       #     #    #   #   #   #  #       # #    # # # #      #    #  #  #      #    #     ##        ##########         ##     #    #   #      #  #  #    #      # # # # # # #      #    #  #  #  #  #  #   #   #   ##   ##    ##      ##         #####                 #####          ##      ##     ##    ##    #    #   #   #   #   #   #   #  #  #      #  #  #  #    #  #  #    #    #    #    #      #      # # #        # # # # # # # # # # # # # # # #          # #      # #      # #    #    # #    #    #    #  # #  #    #  #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  
  #  # #  #    #    #    # #    #    # #    # #      # # #        # # # # #                   # # # # #      # # #    # #    # #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    #    ##     #      ##        ###                                  ###       ##     #    ##   #    #      #              #    #    # # # #     # # #    # #  #        #  #   #   #    #     #        ################       ##     #    #   #  #        #  #    # # # #   # # #      #  #           #   #   #   #    ##     ##       ###                ###############                                       #####        ###     ##    #    #   #      #  #  #    #      # # # #      #    #  #  #  #   #    #    ##       #####      #####       ##    ##   #   #   #  #  #  #    #    # # #       # # #    # #  #       #      #   #  ##   #    #    ##     ##        ####                          ####        ##      ##     ##    #    #    #    #   #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #  #    #    # #    # #    # # #      # # # # #                     # # # # #        # #      # #    # #    # #    #    #    #    #    #    #  #    #  #  #    #  #  #  #       #  #  #  #  #  #         #  # 
    #    #  # #  # #    #    #      #      # #    # # #      # # # # #                           # # # #      # # #    # #    #    # #  #    #    #  #  #                 #  #  #   #  #   #   #   #    #   #    #     #     #      ##       ##             ###############            ###      ##     #    #    #   #   #      #  #  #  #    #    # #               # #    #    #  #  #      #   #    #    ##      ####               ###       #     #   #   #   #  #  #    #    #               #    # #  #  #  #  #   #   #   #    #    ##     ##        ####                                             ###########             ##       ##     #    #   #   #   #  #  #  #    #    # # # # # #    # #  #  #  #  #   #   #    ##      ###               ###      ##    #    #   #  #        #  #    # # #             # #    #    #  #  #  #      #   #   #    #    ##     ##       ###                                ####       ###     ##     #     #    #    #   #   #   #   #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #      # #      # # # #                             # # # #        # #      # #    # #    # #    #    #    #    #  # #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  #  #  #  #  # 
 #    #    #    #    #    # #    # #    # #    # # #      # # # #                # #                # # #      # #      #      #    #    #  # #  #  #    #  #  #  #  #  #   #  #  #   #   #   #   #   #    #   ##    #     #     ##       ##           ######             ######         ###     ##     #    #    #   #   #  #  #     #  #  # #  # #        # # #      # #    #  #  #  #  #  #   #    #    ##     ###                      ##      ##    #   #   #  #     #  #    #      # # # #      # #  #    #  #  #   #  #   #    #    #     ##      ##         ####                        #############                 ###        ##     ##    #    #   #   #  #        #  #      # # # # # # #    #  #        #  #    #    #      ##                    ###     ##    #   #   #      #  #    #    #                   # #  # #  #  #  #  #  #   #  #    #   #     #     ##      ###              #########               ###       ##     ##     #    ##   ##   #    #   #   #      #   #  #  #                 #  #  #    #  # #  # #  # #    # #    # #      # # # #              # # #                # # #        # #      # #    # #    #    # #  # #  # #  #    #    #  #    #  #  #    #  #  #  #                             #  #
#    #  # #  #    # #    #    # #    # #    # # #      # # #          # # # # # # # # # # #          # # #      # #    # #    #    # #  #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #   #   #    #    #    #     #     ##      ##         ####                         ####        ##      #     #    #   #   #   #   #  #  #  #    #    #      # # # # # # #    # #  #    #  #  #   #   #   #    #     ##           #######          ##     ##   ##   #      #  #  #    #    # # # # # # # #    # #  #           #  #   #   #    #    ##     #       ##         ####                  #######                ####        ###      #     #    ##   #   #   #  #  #  #    #    # #         # #    #    #  #      #   #    #     ###                        ##     ##   ##   #   #  #  #  #  #    # #    # # # # # #      #    #       #  #   #  #   #   #   ##    #     #      ###          #########    #########           ###      ##     ##     #    #    #    #   #   #   #   #      #  #      #  #  #  #  #    #  #  #    #    #    #    # #    # #      # # #          # # # # # # # # # # #          # # # #      # #      #      #    # #    #    #    #    #    #  #    #  #    #  #  #  #    #  #  #  #  #  #  #  #  #  #  #  #
  #    #    #    #    #    # #    # #    # # #      # #          # # # # # # # # # # # # # # #          # #      # #    # #    #    #    #  #    #  #  #              #  #  #   #  #   #   #   #   #   #    #    #     #     ##      ##       ####                                 ###       ##     ##    #    #   #   #   #  #  #  #  #  #    #    # # #           # #    # #  #  #     #  #   #   #    #     #        ####         #####       ##     #   ##   #  #           #    # #               # #    #  #        #  #   #   #   #    #    ##     ##      ###         ###             #####             ####         ##       #     ##    #    #   #   #  #        #  #    # #             # #    #  #  #  #   #   #   ##    ##         ###########         #     ##   #   #   #           #  # #    # # # # # # # #    # #    #  #  #  #  #   #  #   #    #    #     #      ##         ####                     #####         ##       #     ##    ##    #    #   #    #   #   #  #   #  #   #  #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #      # # #        # # # # # # # # # # # # # # # #        # # #      # #    # #    # #    # #  # #    #    #  #    #    #  #    #  #  #    #  #  #  #  #                    #  #  
    #    #    #    # #    #    # #    # # #    # # #        # # # # #                   # # # # #        # #      # #    #    # #  # #  #    #  #    #  #  #  #  #  #      #  #   #  #   #   #   #    #   #    #     #     #      ##       ###              ############             ###      ##     ##    #    #   #   #  #   #  #  #  #    #    # #        #          #    #    #  #  #  #   #   #    #    ##      ###                   ###      ##    #   ##  #   #  #  #  #    #    # # # # # # # #    #    #  #        #  #   #   #   ##   ##    ##     ##      ##        ####          ####          ###         ##       ##     #     #    #   #   #   #  #  #  #  #    # #      # # #      # #  #           #   #   ##    ##      ####           ####       ##    #    #   #   #  #  #  #    #    # #             # #    # #  #           #  #   #   #   #    #    ##     ##        ###                              ####        ##      ##    ##    ##    #   ##   #   #   #   #   #  #   #  #  #              #  #  #    #  #    #    #    # #    # #    # # #      # # # # #                   # # # # #        # # #      # #    # #    # #    #    #    #    #    #    #  #    #  #    #  #  #  #    #  #  #  #  #  #  #  #  #  #  
 # #  # #  # #  # #    #    # #    # #      # # #      # # # #                               # # # #      # #      #      #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #   #   #  #    #   #   ##   ##    #     #     ##       ###          ######             ######          ##      ##    ##    #   ##   #      #  #        #  #    # #    # # # # # # #      #    #           #  #   #   ##    #     ###                          ###     #    #    #  #   #  #  #    #    #                 # #    #  #        #  #  #   #   #    #    #     #     ##      ##        ##         ###         ##        ##       #      #     #    #   #       #   #  #  #  #    #      # # # # # # #    #    #  #  #  #   #   ##    #      ###                   ###     ##    #    #   #  #        #  #    # #        #        # #    #    #  #  #  #      #   #   #    #    ##     ##      ###                                     ###       ##      ##     #    ##   ##   #    #   #   #   #  #   #  #      #  #  #  #  #  #    #  #    #  #    # #  # #    # #    # # #      # # # #                             # # # #        # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #       #  #  #  #  #                    # 
#    #    #    #    #      #    # #      # #        # # #            # # # # # # # #            # # #      # #      #    # #    #    #  #    #  #  #       #  #         #  #   #  #   #   #   #   #    #   ##    #    ##     ##      ##         ####                          ####        ##      #     #    #   #   #   #   #  #  #  #  #    #    # # #             # #    #    #  #  #  #  #   #   #    ##    ##        #####       #####        ##    ##   #    #  #      #    #  # #    # # # # # # # #    #    #       #      #  #   #   ##   #    #     #     ##     ##       ##        ##        ##       ##      ##     #     #    #    #   #   #  #   #  #  #    #    # #             # #    #           #  #    #    #     ##                         ###     #    #    #  #   #  #  #  #    # #    # # # # # # #      #    #  #           #  #   #   #    #    ##    ##      ###          #####################            ##       ##     ##     #    #    #    #   #   #   #   #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # # # #            # # # # # # #            # # # #      # #      # #    # #    #    # #    #    #  # #  #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  #  # 
  #    #    #    # #    #      #      # #      # # #          # # # # # # # # # # # # # #          # #      # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #   #   #    #    #    #    ##     #      ##        ###                                   ###       ##     ##    #    #   #   #   #  #           #  #    # #      # # # # #      #    #    #  #  #      #   #    #    ##      ###                    ###      ##    #    #   #  #        #  #    # #      # # #      # #    #    #  #  #  #   #  #   #   #    #    #    ##    ##     ##      ##       ##      ##      ##      ##    ##    ##    #   #    #   #  #      #  #    #    #      # # # # #      #    #  #  #  #   #   #   ##    ##        ###############        #     #    #   #   #           #  #      # #           # # #    #    #  #  #  #  #   #       #   #    #     ##     ##         ####                      #####         ##       #      #     #    #    #    #   #   #   #   #  #   #  #  #      #  #          #  #    #  #    #    #    # #    # #      # # #          # # # # # # # # # # # # #          # # #      # #      # #    # #    #    #    # #  #    #    #    #  #       #  #       #  #  #  #  #                 #
    #    #    # #    #      #      # #      # #        # # # # # #                 # # # # #        # # #    # #    # #    #    #    #  #    #  #  #              #  #  #   #  #   #   #   #   #   #    #    #    ##    ##     ##       ###            ##################            ###      ##     #    #    #   #   #   #  #  #  #  #  #    #      # # #       # # #    # #  #           #  #   #    #    #     ##            #####            ##     ##   ##   #   #  #  #  #  #  # #    # #             # #    #    #  #  #  #  #  #   #   #   #    #   ##    #     #     ##     ##     ##      ##     ##     ##     #    ##   ##   #    #  #   #      #  #    #  #    # #             # #    #    #  #  #   #   #   #     #      ###                 ###      ##    ##   #   #   #  #  #  #  # #  # #        # #        # #    #  #           #  #   #   #   #    #     #     ##        ###                               ####        ##      ##     #     #    #    #   #    #   #      #   #  #      #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #      # # #      # # # # # #               # # # # # #        # # #    # # #    # #    # #    #    #    #    #    #    #  #    #  #       #  #  #       #  #  #  #  #  #  #  #
 # #  # #    #    #      #      # #    # # #      # # # #                               # # # #      # # #    # #    # #  # #    #  #    #  #    #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #    #    #     ##     ##      ###         #####                    #####         ##      #     #    #    #   #   #      #  #  #  #    #    # #        #          # #    #  #  #  #  #  #   #   #    #     ##       ####             ####       #     #    #   #   #  #  #  #  #    #    # # # # # # # #      #    #       #  #      #   #  #    #   #    #    #    ##    ##     #     ##     ##     #     ##    ##    #    #   #    #      #   #  #  #  #    #  # #    # # # # # # #    # #  #           #   #   #    #      ##                        ###     ##    #   #   #      #  #    #  # #    # # # # # # # #    # #    #  #  #  #  #  #   #   #   #    #    ##     ##      ###              ##########               ###       ##     ##     #     #    #    #   #   #   #   #   #  #   #  #  #              #  #  #    #  #    #    #    #      #      # #        # # #                               # # # #      # # #      # #    # #    #    # #    #    #    #  # #  #    #  #    #  #  #    #  #  #  #  #                 
#    #    #    #      #    # #      # #        # # #            # # # # # # # # #            # # #      # #    # #    #    #    #    #  #    #  #  #           #  #  #      #   #  #   #   #   ##   #    #    #     #     ##      ##        ####                               ###        ##     ##    ##   ##   #   #   #  #           #  #    #      # # # # # # # #      #    #  #  #  #  #   #   #    #    ##     ###                        ##      ##    #   #   #   #  #  #  #  #    # #    # # # # # #      #    #    #  #  #  #  #  #   #   #   #   #    #    #    #    ##    ##    ##    ##     #    ##    #    #    #    #   #   #  #   #  #  #  #  #    #    # #               # #    #  #  #  #  #   #   #    #     #         ##############        ##     #    #   #   #  #        #  #    # # #             # # #    #  #    #  #  #   #  #   #   #    #    #     ##      ##          ######            #######          ###       ##     ##    ##    #    #   #    #   #   #   #  #   #  #      #  #  #  #  #  #    #  #    #  #    #    # #    #      # #      # # #            # # # # # # # #            # # # #      # #      # #    # #    #    # #  # #    #  # #  #    #  #    #  #    #  #  #       #  #  #  #  #  #  #  
  #    #    # #    #    # #      # #      # # #        # # # # # # # # # # # # # # # #          # #      # #    # #    #    #    #    #  #  #    #  #  #  #  #  #   #  #  #   #   #  #   #    #   #    #    #    ##     #      ##       ###               ###########              ###      ##     #     #    #   #   #   #  #  #  #  #  #    #    # #                 # #    #    #  #  #  #   #   #   #    #     ##         ###############        ##     ##   ##   #   #  #  #     #  #    # #        # #        # #    #  #    #  #  #  #   #  #   #   #   #    #   #    #    ##    #    ##    #    ##    #    #    #    #   #   #   #   #  #           #  #    #    # # # #     # # #    #    #  #  #  #   #   #   #     #      ###                  ###      ##    ##   #   #   #  #  #  #  #    # #    # # # # # #      # #    #  #        #  #  #   #   #    #    #    ##      ##        ####                          ####         ##      ##     ##    ##    #    #   #    #   #   #  #   #  #   #  #  #  #     #  #  #  #  #    #    #  # #  # #    #      # #    # # #          # # # # # # # # # # # # # # #        # # #      # # #    # #    # #    #    # #  # #  # #  #    #    #  #    #  #  #    #  #  #  #  #                
    #    # #    #    # #    # # #    # # #        # # # #                         # # # # #      # # #    # #    # #    #    #    #  #    #  #  #  #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    #    ##    ##     ##       ##          ######                #####          ##      ##     #    #    #   #   #      #  #  #  #    #  # #    # # # # # # # # #    # #  #    #  #  #   #   #   #   ##    ##      ###                    ###      ##    ##   #   #   #           #  #    # #                 # #    #    #       #  #      #  #   #   #   #   #    #   #    #    #    ##   ##    #    #    #   #    #   #   #   #  #   #  #  #  #  #    #    #      # # # # # #    # #    #  #  #  #      #    #    #     ##                           ##     ##    #   #   #   #  #  #  #    #    # # #           # #      #    #  #  #  #  #   #  #   #    #   ##    #      ##       ###                                   ###        ##      ##     #    ##    #    #   #   #   #   #   #      #  #      #  #  #  #  #    #  #  #    #    #    #    #      # #    # # #      # # # # #                     # # # # #        # # #      # #    # #    # #    #    #    #    #    #    #  #    #  #    #  #  #       #  #  #  #  #  #  # 
 #    # #    #    # #    # #      # #        # # #              # # # # #              # # # #      # #    # #    # #  # #  # #  #    #  #       #  #  #  #  #      #  #   #  #   #   #   #   #    #    #    #     #     ##      ###        ####                             ####       ###     ##    #    ##   #   #   #  #   #  #  #    #  #    # #                   # #    #  #    #      #  #   #    #    #      ##          #########           ##     #    ##   #   #  #   #  #    #  #    # # #               # #    #    #  #              #  #   #   #  #    #   #   #    #   ##   #    #    #    #   #    #   #   #   #      #  #   #  #       #  # #    #                   # #  # #  #  #  #  #   #   #    #     ##       #####        #####        #     #    #   #   #      #       #    #        # # # #      # #    #       #  #  #   #  #   #   ##   #    ##     ##      ##           #####################            ##       ##      #     #     #    #   ##   #   #   #   #   #  #      #  #  #  #  #  #  #  #  #    #  #    #    #    # #    #      # #      # # # #                                   # # #        # #      # #    # #    # #    #    #    #    #    #  #    #  #    #  #    #  #  #  #          #  #  # 
#  # #    #    # #    # #    # # #      # # #        # # # # # # # # # # # # # # #          # #      # #    # #    #    # #  #    #       #  #  #           #  #  #      #      #   #   #   #    #    #    #    ##     #      ##       ####                #######               ###       ##     #     #    #   #   #   #  #           #  #    #      # # # #   # # # #    #    #           #  #   #   #    #     ##      ###                  ###       ##    ##   #    #  #   #  #  #  #    #    # # #             # # #    #    #  #       #      #  #      #   #   #   #   #   #    #   #    #   #    #   #   #   #   #   #      #  #           #  #    #    # # #             # #    #    #  #  #  #   #   #   #    ##      ##                      ###      #     #   #   #   #  #     #  #  # #    # # #         # # #    #    #  #        #  #      #   #    #    #     ##     ##         ####                        ####         ###      ##     ##    ##    #    #   #    #   #   #   #  #   #  #      #  #  #  #  #       #  #    #  #    #    # #    #      # #      # #          # # # # # # # # # # # # #          # # #      # # #    # #    # #    # #    #    #    #    #  # #  #    #  #    #  #  #       #  #  #  #  #  #  #
# #    #    # #    # #    # #      # # #        # # # # #                     # # # # #      # # #    # #      #    #    #    #    #  #       #  #  #  #  #  #      #  #   #      #   #   ##   #   ##   ##    #     ##     ##       ##           ######              ######          ##      ##     #    #    #   #   #   #  #  #  #  #  #    #    #        # # #        # #    #  #        #  #   #   #   #    ##     ###             ##             ###     ##    #   #   #   #  #  #  #  #    #    # #               # # #    #    #  #    #  #  #  #   #  #      #   #   #   #   #   #   #   #    #   #   #   #   #  #   #   #  #  #  #  #  #  #  # #  # #    # # #         # # #    #    #  #  #  #  #   #   ##   ##     ##         ############         ##     #    #    #   #  #  #  #  #  #    # #      # # # #        #    #    #  #  #  #  #      #   #    #    #    ##     ##       ###                                   ###        ##      ##     #    ##    #    #   #    #   #   #  #   #  #   #  #  #  #     #  #  #  #  #    #    #  # #  # #    #    # #      # # #      # # # # # #               # # # # # #        # # #      # #      #      #    # #    #    #    #  # #  #    #  #    #  #    #  #  #  #       #  #  #  #
    #    # #    #      # #    # # #      # # # #                # #                # # # #      # #      #      #    #    #    #  #    #  #  #              #  #  #   #  #   #      #    #   #   ##   ##    #    ##     ##      ##         ####                             ####        ##     ##    ##    #   #   #   #   #  #  #  #  #  #    #      # #           # # #    #    #  #        #  #   #   ##   ##    ##       ###                 ###       ##     #    #   #   #  #   #  #    #  #      # #                 # #    #    #    #  #  #  #  #  #  #   #  #   #   #  #   #   #   #   #   #   #   #   #  #   #      #  #  #     #  #  #    #  # #    # # # #       # # #    #    #  #     #  #   #   #   ##    ##      ###                  ###       ##    #    #   #   #  #  #  #  #    #    # # #           # #    # #  #    #  #  #  #   #  #   #   ##   #     #     ##      ###           ###################            ###       ##      #     ##    #    #    #   #   #   #   #   #   #  #  #   #  #  #  #  #  #       #  #    #    #  # #    #    # #      # #      # # # #                                 # # # #      # # #    # #      # #    #    # #  # #    #  # #  #    #    #  #    #  #  #    #  #  #  #  #        
 #    #      #    # #      # #      # # #          # # # # # # # # # # # # # #          # # #      # #    # #    #    #    #    #  #       #  #  #  #  #  #  #      #  #   #   #   #   #   #   #    #    ##    #     ##      ##       ###                #########               ##       ##     ##    #    #   ##   #  #   #  #  #  #  #    #    #      # # # # # # #    # #    #  #        #  #   #   #   ##    #      ##                             ##     ##    #    #   #   #  #  #  #  #    #    # #        # #        # #      #    #  #                 #  #  #   #  #   #   #  #   #   #   #  #   #   #  #   #  #  #              #  #    #  # #    # # # #       # # #    # #  #           #  #   #   ##    #     ##            #####            ##     ##    #   #   #   #  #  #  #    #  # #      # # # # #      # #    #    #  #  #  #   #  #   #   #    #    #     ##     ###        #####                       ####         ###      ##     ##    ##    #    #    #   #   #   #   #   #  #   #  #  #  #           #  #  #    #  #    #    #    #    # #    # #      # # #          # # # # # # # # # # # #            # # #      # #      # #    # #    #    # #  # #  # #  # #  #    #  #    #  #    #  #  #       #  #  #  #  
   #    # #    # #    # #      # # #        # # # # #                       # # # #        # #      # #    # #    #    #    #  #    #  #  #       #  #      #  #  #   #  #   #   #   #   #   #    #    #    ##    ##     ##       ###          #####                 ######         ###      #     ##    #   ##   #   #  #   #  #  #  #    #  #    # # #               # #    # #  #           #  #   #   ##   ##    ##       ####                ####       ##    ##   ##   #   #  #           #  #    # #      # # # # # #      # #    #    #    #  #  #  #  #  #  #  #   #  #  #   #      #   #  #   #  #   #  #  #   #  #  #  #  #  #    #  #    # #    # # #         # # #    # #  #    #  #  #   #  #   ##   ##    ##       ###                ###       ##    ##   #    #  #   #  #  #  #    #    # #               # #    #    #       #      #  #   #   #   ##   ##    ##     ##       ###                                   ###        ##      ##     ##    #    #    #    #   #   #   #   #      #  #   #  #  #  #  #  #  #       #  #    #    #    #    # #    # #    # # #        # # # # # #               # # # # # #        # # #      # #    # #    # #    #    # #  # #  # #  #    #    #  #    #  #  #    #  #  #  #       #  
#    # #    # #    # #      # #      # # # #              # # # # #              # # # #      # #    # #    # #    #    #  # #  #    #  #  #  #  #  #  #  #  #      #  #   #   #   #   #   #    #    #    #     #     ##      ###        ###                                ####       ##      ##    #    #    #   #   #  #   #  #  #  #    #    #    # # # #     # # # #    #    #              #   #   #   #     #      ##            ######            ##     ##    #    #   #   #  #  #  #  #  # #  # #    # # # # # # # # # #    # #    #    #       #  #  #  #  #  #  #      #  #      #  #   #  #      #  #  #              #  #  #    #    #      # #             # # #    #    #  #  #  #  #   #   #   #    ##     ##                            ##      #    ##   #   #   #  #  #  #    #  # #    # # # # # # # #    # #    #  #           #  #   #   #   #    #    ##     #       ##            ####################            ###       ##     ##     #    ##   ##   #    #   #   #   #   #  #   #  #  #                 #  #  #    #  #    #    #    # #    #      # #      # # # #                                   # # #        # #      # #      #    # #    #    # #  # #  #    #    #  #    #  #    #  #       #  #  #  #  # 
  # #    #      #      # #      # # #          # # # # # # # # # # # # # # # #        # # #    # #      #    # #    #    #  #    #  #       #  #  #  #  #      #  #   #  #   #   #   #   #    #   ##    #    ##    ##      ##       ###             ################             ##       ##     ##    #    #   #   #   #      #  #  #    #  #    # #      # # # # #      # #    #       #  #   #  #   #   #    ##    ##       ###                   ###       ##    ##    #   #   #  #   #  #  #    #  # #    # #                 # #      #    #    #  #    #  #  #  #  #  #  #  #      #  #  #  #   #  #  #  #  #  #  #  #  #  #    #  #    # #    # #                 # #    # #  #    #  #      #   #   #    #     #       ####               ####       ##    #    #    #  #   #  #  #  #    #    # #                 # #    #    #  #     #  #  #   #   #   #   ##   ##    ##      ##         ####                         ####         ###      ##     ##    ##    #    #   #    #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # # #    # # #          # # # # # # # # # # # # # #          # # #      # #      # #    # #    #    #    # #  # #  #    #    #  #    #  #    #  #  #  #    #  #  # 
    # #    # #    # #      # # #        # # # #                           # # # # #      # #      # #    # #    #    #    #  #    #  #  #              #  #  #  #   #  #   #   #   #   #   ##   #    #     #     #     ##       ##          #####                      ####         ###      #     #    ##   #    #      #      #  #  #    #  # #    # #                 # #    #       #  #  #   #  #   #    #    ##     ##          ############          ##      #    ##   #   #   #  #           #  # #    #        # # # # # #      # #    # #  # #  #    #  #  #  #           #  #  #  #  #  #  #  #  #  #  #  #  #  #  #    #  # #  # #    # #        # # #        # #    #    #  #  #  #  #   #   #   ##    #      ##                            ##      #    #    #   #   #  #  #  #  #    #      # # #       # # #    # #    #  #  #  #  #  #   #  #   #    #    #    ##     ##       ###                                     ###        ##      ##     #     #    #    #   ##   #   #   #   #  #   #  #      #  #  #  #  #       #  #    #  #    #    #    # #    # #      # #        # # # # #                     # # # # #        # # #      # #    # #    # #    #    #    # #  #    #    #    #  #    #  #  #    #  #  #  #      
 # #    # #    # #    # # #      # # #            # # # # # # # # # #            # # #      # #    # #    # #    #    #  #    #  #    #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #    #    #     #     ##      ##        ####                                   ###        ##     ##    #    #    #   #   #  #   #  #  #  #    #    #      # # #       # # #    # #  # #  #  #  #  #   #   #   #    #     #       ##                       ###       #     #    #   #   #   #  #  #  #  #  # #  # #    # # # #         # # # #    # #    #    #    #  #  #    #  #  #  #  #  #  #  #  #  #  #  #       #  #  #    #  # #  # #    #      # # # # # # # # #    # #    #       #  #      #   #   #    #     ##       ###                ####       ##    #    #    #  #   #  #  #  #    #  # #      # # # # # #      #    #    #  #  #  #  #      #   #   ##   #    ##     ##      ##           #######         ########           ###       ##     ##    ##    #    #    #    #   #   #   #  #   #      #  #  #           #  #  #  #    #  #    #    #    # #    # #    # #      # # # #              # # # # #              # # # #      # # #    # #      #    # #    #    #    # #  #    #    #  #    #  #    #  #  #    #  #  #  #
#    #    # #      # #      # # #        # # # # # #             # # # # # #        # # #      # #    #    # #    #    #  #    #  #       #  #  #  #  #      #  #   #  #   #   #   #   #    #   ##    #    ##    ##      ##      ###            #########     #########           ##      ##     ##    #    #   #   #   #      #  #  #    #  #    # #      # # # # # #      # #  # #  #  #  #  #  #   #   #   ##    #     ##        #######      ######        ##     ##    #    #   #  #   #  #  #  #  #    #    # #        # # # # #        # #    # #    #    #  #    #  #       #  #  #  #  #       #  #  #       #  #    #    #    # #    # # #               # #      #    #  #        #  #   #   #   ##    #      ##            #####            ##      #    ##   #   #   #  #  #  #  #    #    # #                 # #    #    #  #  #  #  #  #   #   #   #    #    #     #      ##        ####                             ####        ###      ##     #     #    ##   ##   #    #   #   #   #  #   #  #      #  #  #  #  #  #  #       #  #    #    #    #    # #    # #      # # #        # # # # # # # # # # # # # # # #          # # #      # #      # #    # #    #    #    # #  #    #    #    #  #    #  #    #  #  #  #       #
# #    # #    # #      # #        # # # #                                   # # #      # # #    # #    # #    #    #    #  #    #  #  #  #           #  #  #      #  #   #   #   #   #   ##   #    #    ##    ##     ##      ###        ####                             ####        ##      ##    ##    #   #    #   #  #   #  #  #  #    #  #    # #                     #    # #  #           #  #   #   #    #     #      ###                           ###      #     #    #   #   #      #  #  #  #    #    #      # # #             # # #      # #    #    #    #  #    #  #    #  #  #    #  #  #    #  #    #  #    #    # #    # #        # # # # #        # #    #    #  #  #  #  #   #   #   #    #     #       ###                   ####      ##    ##   ##   #   #  #  #  #  #  #    #    # # # #       # # #    # #  # #  #  #  #  #  #   #       #   #    #    ##     ##       ###              ##########                ###       ##      ##     #     #    #    #   #    #   #   #      #   #  #  #      #  #  #  #       #  #    #  #    #    #    # #    # #    # # #      # # # #                             # # # # #      # # #      # #    # #    # #    #    # #  # #  #    #    #    #  #    #  #  #    #  #  #  #  
    #      #      # #      # # #          # # # # # # # # # # # # # # #          # # #    # #      #    # #    #    #  # #  #       #  #  #  #  #  #  #  #   #  #      #   #   #   #   #    #    #    #     #     ##     ###       ###               ###########               ##       ##     ##    ##   ##   #   #   #      #  #  #  #    #  # #    # #               # #    # #  #    #  #  #   #  #   #    #    #     ##       ####                 ####       ##     #    #   ##   #  #   #  #  #  #    #  #    # #      # # # # # # # # #      # #      #    #    #    #    #  #    #  #    #  #    #    #  #    #    # #    # #    # # # #           # # #      #    #    #  #  #  #   #  #   #    #    ##     ##         ##############         ##     ##    #   #   #   #           #  #    # #    # # # # # # #      #    #    #  #  #  #  #      #   #   #    #    ##     #      ###         #####                    #####          ##       ##     ##    ##    #    #    #   ##   #   #   #  #   #      #  #  #           #  #  #  #    #  #    #    #    #      #      # #      # # #          # # # # # # # # # # # #          # # #        # #      #      #      #    #    # #  # #  #    #    #  #    #  #    #  #  #    #  #  
 #    # #    # #      # # #        # # # #                           # # # # #      # # #    # #    # #    #    #    #  #    #  #    #  #  #  #  #  #      #  #   #  #   #   #   #   #   ##   #    ##    #     ##     ##      ###          #####                     #####         ##      ##     #    ##   #    #      #   #  #  #  #  #    #    #    # # # #     # # # #    # #  #    #  #  #  #   #  #   ##   #     #     ###          ############           ##     ##    #    #   #   #      #  #  #  #    #    #    # #          # # #          # #      # #    #    #    #    #    #  # #  #    #    #    #    #    # #    # #        # # # # # # #      # #    # #  #    #  #  #   #  #   #   #    #     ##      ##                        ###      ##    #    #   #   #      #  #    #  #    # #                   # #    #    #  #  #  #  #  #   #   #   #   ##   ##    ##     ##        ###                                  ####        ##      ##     ##    ##    #    #   #    #   #   #   #  #   #  #      #  #  #  #  #  #  #       #  #    #    #    #    # #    # #      # #        # # # # #                   # # # # # #        # # #      # #    # #    # #    #    # #  # #  # #  #    #    #  #    #  #    #  #  #       
   #      # #    # # #      # # #            # # # # # # # # # # #          # # #      # #      #      #    #    #    #  #    #  #  #                 #  #  #   #  #   #   #   #   #   #    #    #    #     #     ##      ###        ###                                    ###       ##      #     #    #    #   #   #      #  #  #  #  #    #    #      # # # # # # #      # #    #  #  #     #  #   #  #    #    #    ##      ###                          ##       #     #    #    #   #  #   #  #  #  #  #    #    #      # #                     # # #    # #      #    # #  # #    #    #    #    #    #    # #    # #      # #                     # #      #    #  #           #  #   #   #   #    ##     ##        #####         #####        ##     ##   ##   #   #      #  #  #  #    #      # #             # #      #    #  #  #  #  #  #   #  #   #    #    #    #     ##       ##           ######################            ###       ##      #     ##    #    #    #   ##   #   #   #   #  #   #  #  #   #  #  #  #  #  #    #  #  #    #    #    #    #      #      # #      # # # #              # # # # #              # # # #      # # #    # #      #      #    # #  # #    #  # #  #    #    #  #    #  #       #  #  # 
#    # #    # # #    # # #        # # # # # #                   # # # # #        # #      # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #      #  #   #   #   #   #   #   ##   #    ##    #     ##     ###      ###           ########          #######           ##       #     ##    #    #   ##   #  #   #  #  #  #  #  #    #    # #      # # # # #      # #    #  #    #  #      #   #   #   #    ##     ##       ####               ####        ##     ##    #   #       #   #  #  #  #  #  #    #    # #    # # #                 # # #      # #      # #    #    # #    #    # #    #    # #    # # #      # # # #         # # # #      #    # #  #              #  #   #   #    #     #      ##                             ##      ##    #    #   #   #  #  #  #  #  #    # #    # # # # # # # # #    # #    #  #  #     #  #  #   #   #   #    #    #     ##     ##         ####                            ####         ##       #      #     #    ##   ##   #    #   #   #   #      #      #  #  #              #  #  #    #  #    #    #    #    # #    # #      # # #        # # # # # # # # # # # # # # # # #        # # #      # # #    # #    # #    #    # #    #    #    #  #    #    #  #    #  #  #    #  # 
  #      # #    # # #      # # # #              # # # # # #              # # #      # #      # #    #    #    #    #    #  #    #  #  #  #  #  #  #  #      #  #   #   #   #   #   #   #    #    #    ##    ##     ##      ##         ####                               ####        ##     ##     #    #    #   #   #   #  #           #  #    #    # #                   # #    #    #  #  #  #  #   #  #    #   ##    #      ##           ###########           ##      ##    #    #   #   #   #  #           #  #    #    # #    # # # #               # # # #      # #      # #    # #    # #    #      # #    # # #      # # # # # # # # # # #      # #    #    #       #  #      #   #   #   #    #     ##       ###                    ###       #     ##   #    #   #  #           #  #    # #      # # # # # #      # #  # #  #  #        #  #   #  #   ##   #    #    ##     ##       ###               ##########                ###       ##      ##     #     #    #    #    #   #   #   #   #      #  #   #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #      # #        # # #                                 # # # #        # # #    # #      # #    #    # #    #    #    #    #  #    #    #  #  #    #  #  #   
    # #    # # #      # #          # # # # # # # #     # # # # # # # #        # #      # #      #    # #  # #  # #  #    #  #  #    #  #  #  #  #      #  #      #   #  #   #   ##   #   ##   #    ##    ##    ##      ##       ###             ##################             ##       ##     ##    #    #    #   #   #  #      #  #       #    #    # # #               # #    #    #              #      #    #    #     #       ##                           ##       ##    ##   ##   #   #   #  #   #  #  #       #    #    # #    # # # #                 # # # #      # # #    # #      # #      # #      # # #        # # # # # # # # #        # #    #    #       #  #  #   #  #   #   #    #    ##     ##         ################         ##     ##    #    #   #  #   #  #  #  #    #    # #        # # #      # #    # #  #              #  #   #   #   #    #    ##    ##      ###         ####                      #####          ##       ##     ##     #    ##   ##   #    #   #   #   #   #  #   #  #      #  #  #  #  #  #  #    #  #    #  # #  # #  # #    # #    # #      # # #          # # # # # # # # # # # # # #          # # #      # # #    # #    # #    # #    #    #    #    #    #  #    #  #    #  #    #  #  #
 #    # #      # # #      # # # #                                   # # # #      # # #    # #    # #    #    #    #  #    #  #  #                 #  #  #      #   #  #   #   #   ##   #    #    #    ##    ##     ##       ##         #####                          ####         ##      ##     #    #    #   #   #   #      #  #  #  #    #    #    # # #           # # #    # #  # #  #  #  #  #   #  #   #    #    ##    ##        ####                 ####       ##      #    #    #   #   #   #  #  #  #  #  #    #  # #  # #      # # #                       # # # #      # # #      # # #      # # #          # # # # # # # # # #        # #    #    #    #  #  #  #  #   #  #   #    #   ##    ##      ##                            ##      ##    ##   #    #      #  #  #  #  #    #    # #                 # #    # #  #    #  #  #      #  #   #   ##   #    #     #      ##       ###                                     ####       ###      #      #     #    #    #    #   #   #   #   #   #  #   #  #      #  #  #  #  #       #  #    #  #    #    # #    #    # #      # #        # # # #                           # # # # #        # #      # #      # #    #    # #    #    #    #    #    #  #    #  #    #  #    #  #
   # #    # #      # # # #        # # # # # # # # # # # # # # # #          # # #    # # #    #      #    #    #    #  #    #  #  #  #  #     #  #  #  #      #   #  #   #   #   #    #   #    #    ##    ##     #      ##        ###                #########                ###       ##     ##    #    #    #   #   #      #  #  #  #  #    #    #    # # # #       # # #      #    #  #           #  #   #   #    #    ##     ###         ################          ##      #     #    #   #   #   #  #      #  #    #  #    #    # #    # #          # # # # # # #            # # # #        # # #          # # # # # # # # # # # # #        # #    #    #    #  #  #  #  #  #   #  #   ##   #    ##    ##       ####                   ###       ##     #    #    #   #  #      #  #    #  # #    # # #           # # #    # #  #    #  #  #  #      #   #   #   #    #    ##     ##      ##           ######              ######           ###       ##     ##     #    ##    #   ##   #   #   #   #   #   #  #   #  #  #                 #  #  #    #  #    #    #    # #    #      # #      # # #          # # # # # # # # # # # #            # # #      # # #    # #      #    # #    #    #    #    #    #    #  #    #  #    #  #     
#    # #      # # #      # # # #                                 # # # #        # #    # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #      #   #   #   #   #    #   ##    #    ##    ##     ##       ##          #####                       ####          ##      ##     #    #    #    #   #  #   #  #        #  #  # #  # #      # # # # # # # # #    # #  #    #  #  #  #  #   #   #   #    #     ##      ##                              ###      ##    ##    #   #   #   #   #  #  #  #  #  #  # #  #    # #    # #      # # # # # # # # # # # # # # # # #            # # # # # #                   # # # #      # #    # #  # #  #       #  #      #   #  #    #   ##    #      ##         #################         ##     ##    #    #   #      #  #  #  #  #    # #    # # #       # # # #    # #  #    #  #  #  #  #      #   #   #    #    #     ##     ##        ####                                 ####        ##      ##     ##     #    #    #    #   #    #   #      #   #  #   #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # #        # # # # #                       # # # # #        # # #    # # #    # #    # #    #    # #  # #  # #  #    #    #  #    #  #    #  #  
# #      # #      # # #          # # # # # # # # # # # # # # # #        # # #      # #    # #    #    # #  # #  #    #  #       #  #  #  #  #  #  #   #  #      #   #   #   #   #   #    #    #    ##    ##     #      ###        ###                                      ###        ##     ##    #    ##   #   #   #   #  #   #  #  #    #  #    # #      # # # # # # # #    # #    #  #    #  #   #  #   #   #   #    ##    ##       ###                        ###       ##     #    ##   #    #  #   #      #  #  #  #    #  # #  # #    # #    # # #                # # #                            # # # # # #              # #      # #    #    #    #  #  #  #  #  #   #  #   ##   #    #     #      ###                             ###      #     #    #   #   #  #           #  #    #      # # # # # # # # #    # #  # #  #  #        #  #   #  #    #   #    #    ##     ##      ###            #####################            ###       ##      ##     #    ##    #    #   #    #   #   #   #  #   #  #      #  #  #  #  #  #  #  #    #  #    #    #  # #    #    # #    # # #      # # #            # # # # # # # # # #            # # #      # # #      #      # #    #    # #    #    #    #  # #  #    #  #    #  #    #  
    # #      # #        # # # #                               # # # #        # #      # #    # #  # #    #    #  #    #  #       #  #  #  #  #      #  #      #   #  #   #   ##   #   #    #    ##    #     ##     ##       ###          ######                  ######         ###      ##     #    ##   ##   #   #   #      #  #  #  #  #    #    # #      # # # # # # #      #    #    #  #  #  #  #   #  #    #   #    ##     ##        ####                ####        ##      #    ##   ##   #   #      #  #           #  #  # #  # #  # #    # # #      # # # # #                                            # # # # #        # #    # #    #    #  #       #         #      #   ##   #    ##     #       ###                       ###       ##    ##   ##   #   #   #  #  #  #  #    #    #      # # # # # # #      # #    #  #       #      #  #   #   #   #    #    #     ##      ##        ####                              ####         ##      ##     ##     #    ##   ##   #    #   #   #   #   #  #   #  #      #  #  #  #  #  #       #  #    #  #    #    # #    #      #      # # #        # # # # #                     # # # # #        # # #      # #    # #    # #    # #    #    #    #    #    #  #    #  #    #  #    
 #    # # #      # # #          # # # # # # # # # # # # # # #        # # #      # #      #      #    #    #    #  #    #  #          #  #         #  #      #      #   #   #   #    #   ##   ##    #     #     ##      ###        ###                                     ###        ##     ##    ##    #    #   #   #      #  #  #  #  #  #    #    # #    # # # # # # #      # #    #    #  #  #  #   #  #   #   #    #     #      ##         ##################         ###     ##    ##    #   #   #   #   #  #  #  #  #  #  #  # #  #    # #    #      # # #      # # # # # #                  # # # # # # #          # # #    # #    # #    #  #    #  #  #  #  #  #   #  #   #   ##   #     #     ##         ####             #####        ##     #    ##   #   #   #  #      #    #  #    # #      # # # # # #      # #    #    #  #  #  #  #   #  #   #   #    #    #    ##     ##       ###            #################              ###       ##      ##     #     #    #    #    #   #   #   #   #   #  #   #  #      #  #  #  #  #       #  #    #  #    #    #    # #    # #    # #      # # # #            # # # # # # # # #            # # #        # #      # #    # #    # #    #    #    #    #    #    #  #    #  #    #  # 
 # # #    # # #        # # # #                               # # # #      # # #    # #      #    #    # #  #    #  #    #  #  #              #  #  #  #   #  #   #   #   #   #   #    #    #    #     #     ##     ##       ###           ######               ######          ###      ##     ##    #    #    #   #      #      #  #  #    #  # #    #      # # # # # # #      # #  # #  #           #  #   #   #   #    #     ##     ###               ##               ###      ##    ##    #   ##   #   #  #   #  #  #  #  #  #  #    #    #    #      #      # # #        # # # #          # # # # #          # # #      # #    # #    #    #  #    #  #  #  #  #   #  #   #   #   ##   ##    ##     ###          #############           ##     ##    ##   #   #   #   #  #  #  #  #    #    #        # # # # #      # #    #    #  #  #  #  #  #   #  #   #    #   ##    #     ##      ##         ####                           ####         ###      ##      #     #     #    #    #   #   #    #  #   #   #  #   #  #  #         #          #  #    #  #    #    #    #    # #    # #      # #        # # # # # #                   # # # # #        # # #      # #      # #    # #    #    #    # #  # #  #    #    #  #    #  #    # 
     # #      # # # #          # # # # # # # # # # # # # #          # # #      # #    # #    # #    #    #  # #  #    #  #  #  #           #  #  #  #   #  #   #   #   #   #   #   #    #    #    ##    ##     ##      ##         ###                                    ###        ##      #     #    ##   #   #   #   #   #  #  #  #  #  #    #    # #      # # # # # # #      #    #    #  #  #  #  #      #   #    #    #     ##      ###                            ###       ##    ##    #    #   #   #   #      #  #  #  #  #  #    #  #    #    # #    # #      # #      # # # #        # # #        # # #      # #    # #    #    #    #  #    #  #  #  #   #  #   #   #   #   #    ##    ##      ###                             ###      ##    ##   #    #   #  #   #  #  #    #  #    # #        # # # #      # #    #    #              #  #   #   #   #   #    ##    ##     ##       ###              #############               ###       ##      ##     ##    #    ##   ##   #    #   #   #   #  #   #  #   #  #  #              #  #  #  #    #    #  # #  # #    #    # #    # # #      # # #            # # # # # # # # #            # # # #      # # #    # #      #      #    # #  # #    #    #  # #  #    #  #    #  #   
# #      # #        # # # #                                 # # # #      # # #    # #    # #    #    #    #    #  #    #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #    #   #    #    ##    ##    ##      ##       ###           #######            #######           ##       ##     #    ##    #   #   #   #   #  #           #  #    #    #      # # # # # # #      # #    #    #  #  #  #      #   #   #   ##    #     ##       ####                       ###       ##      #    ##   ##   #   #   #  #   #  #  #  #  #  #  #    #  # #  # #    #    # #      # #      # #      # # #      # #      # #    # #    # #  # #  #    #  #       #      #  #  #   #   #   #    #    ##     ##       ###                        ###       #     ##   ##   #   #   #  #        #  #    #    # #      # # # #        # #    #  #    #  #  #  #      #   #   #   #    #    ##     #      ###         ####                         #####          ##       ##     ##    ##    #    #    #    #   #   #   #   #      #      #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # #      # # #      # # # # # #                   # # # # # #        # # #      # #    # #    # #    # #    #    #    #    #    #  #    #  #    #  #
  # # #      # # #          # # # # # # # # # # # # # # #          # # #      # #    # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #   ##   ##    #     #      ##      ##         ###                                   ####       ###     ##     #    #    #   #   #   #      #  #  #  #    #  #    # #      # # # # # # #      # #    #  #    #  #      #  #   #   ##   #     #     ##        ####                  ####        ##      #     #    #    #   #   #  #   #  #  #  #  #  #  #  #    #  # #  # #  # #    # #    # #    # #      # #      # #    # #    # #    #    #    #    #  #                 #  #   #   #   #   #    #    ##     ##        ####                 ####        ##     ##    #   #    #  #   #  #  #  #  #    #    # #        # # #        # #    #    #  #  #  #  #  #  #   #   #   #    #    #     #      ##       ###                ########                 ###        ##      #     ##    ##    #    #    #   #   #   #   #   #   #  #      #  #  #  #  #  #  #  #  #    #  #    #    #    #    #    # #      # #      # # #            # # # # # # # # # #            # # #        # #      # #    # #    # #    #    #    #    #    #    #  # #  #    #  #
      # # #      # # # #                                   # # # #      # #      # #    # #    #    #    #  # #  #  #    #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   #    #   ##    #    ##     ##     ##       ###           ########           ########          ###      ##     ##    ##   ##   #   #   #   #  #  #        #  #    #    #      # # # # # # # #      # #  # #  #  #        #  #   #   #   #    #    ##      ##         #####          ######         ##      ##    ##    #   #    #   #  #   #  #                 #  #    #  #    #    #    # #    # #    # #    # #    # #    # #    #    #    #    #    #  #       #  #  #      #  #   #   #   #    #    #    ##      ##         #######      ######         ###     ##    #    #   #   #  #   #  #  #    #  #    # #        # # #        # #    # #  #       #  #      #  #   #   #    #   ##    #     ##      ##          ####                        #####          ##       ##     ##     #     #    #    #   #    #   #   #      #   #  #      #  #  #  #  #  #  #  #    #  #    #  #    #    # #    #      # #    # # #        # # # # #                     # # # # # #        # #      # # #    # #    # #    #    # #  # #    #  # #  #    #    #  #    #
 # #      # # #          # # # # # # # # # # # # # # # # #        # # #      # #    # #    #    #    #    #    #  #       #  #  #  #  #  #  #      #  #   #      #   #   #   ##   #    #    #    ##    ##     ##      ###        ####                                   ###        ##      ##    ##    #    #   #   #   #  #   #  #  #  #    #  #    # #      # # # # # # # #      #    #    #  #  #  #  #      #   #   ##   ##    ##      ##          ################           ##      ##     #    #    #   ##   #  #   #  #   #  #  #  #  #  #    #  #    #  # #  # #  # #    #    # #    #    # #    #    # #    #  # #  #    #  #    #  #  #  #  #      #  #   #   #   #    #    ##    ##      ##            ############           ##      ##    #    #   #   #   #  #           #  # #    # #      # # # #        # #    #    #  #  #  #  #  #   #  #   #   ##   #    ##    ##     ##       ###                 ######                  ###        ##      ##     ##    #     #    #   #    #   #   #   #   #  #   #  #      #  #  #  #  #  #  #    #  #  #    #    #    #    #      #      # #      # # #            # # # # # # # # # # #            # # #        # #      # #    # #    #    # #    #    #    #    #  # #  #    #  #  
   # # #      # # # #                                     # # # #      # #      # #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #    #    #     #     ##      ##       ##            #######             ######           ###      ##     ##    #    #    #   #   #   #  #  #        #  #    #    #      # # # # # # # # #      #    #    #  #  #  #  #   #  #    #   #    #     ##      ##             #########             ###      ##    ##    #    #   ##   #      #   #  #  #  #        #  #  #    #  #    #  # #  # #  # #    #    #    #    #    #    #    #    #  #    #  #  #  #  #  #  #  #   #  #   #   #    #   ##    #     ##      ###                               ###      ##    ##   ##   #   #   #  #  #  #  #  #    #    # #      # # # # #      # #    #    #  #    #      #  #   #  #   #    #    #    ##     #      ###         #####                        #####         ###       ##     ##    ##    ##   ##   ##   #   #   ##  #   #   #      #  #   #  #  #  #  #  #  #       #  #    #  # #  # #  # #    #      # #    # # #      # # # # #                           # # # # #      # # #      # #      # #    #      #    #    #    #    #    #    #  #    #  
#      # # #        # # # # # # #           # # # # # # #        # # #      # #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #      #  #      #   #  #   #   #    #   #    #    #    ##    ##     ##      ###        ####                                    ###        ##      ##    ##    #    #   #   #   #  #   #  #  #  #       #    # #    # # #         # # #      #    #    #  #  #  #      #   #   #   ##    #     #       ##                                 ###      ##     ##    #    #    #   #   #  #   #  #   #  #  #  #  #  #       #  #    #  #    #    #    #    #    #    #  # #  #    #  #    #  #  #              #  #  #   #  #   #   #    #    #    ##     ##       ##                            ###       ##    ##    #   #    #  #   #  #  #  #  #    #    # #      # # # # # #      # #    #    #  #  #  #  #  #   #  #   #    #   #    ##    ##     ##        ###                ########                 ###        ##      ##     #     #    ##   ##   #    #   #   #   #      #   #  #  #   #  #  #  #  #  #  #    #  #    #  #    #    #    # #    #      # #      # # #          # # # # # # # # # # # # # #          # # #      # # #    # #      #      #    # #  # #    #    #  # #  #    #  #    
# # #      # # # #            # # # # # # # #              # # #      # # #    # #    # #    #    #    #  #    #  #       #  #  #  #  #  #      #  #   #  #   #   #   #   #   ##   #    #    ##    #     ##      ##       ###          #######                ######          ###      ##     ##    #    #    #   #   #   #  #  #        #  #  # #  # #    # # #             # # #    #    #    #  #  #  #   #  #   #   #    #    #     ##       ###                              ###       ##     ##    #    #    #   #   #   #  #   #  #         #  #       #  #  #    #  #    #  #    #    #  #    #    #  #    #  #       #  #  #  #  #  #  #      #      #   #   ##   #    #     #     ##        ###                         ###       ##     #    #    #   #   #      #  #  #  #    #    # #      # # # # # # #      #    #    #  #           #  #   #  #    #   #    #    ##     #       ##         #####                         ####          ###      ##      #     ##    #    #    #    #   #   #   #   #   #  #   #  #      #  #  #  #  #  #    #  #  #    #    #  # #  # #    #      # #    # # #      # # # #                               # # # # #        # #      # #      #      #    # #    #    #    #    #    #  #    #    
    # # #        # # # # #                       # # # # #        # #      # #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #      #  #      #   #   #  #    #   #   #    #    #     #     #     ##      ###        ###                                      ####       ##      ##    ##    #    #   #   #   #      #  #  #  #  #    #    #    # # #               # # #    #    #    #  #  #  #   #  #   #   ##   #    ##     ##       ###                            ####       ##     ##    #    #    #   #   #   #   #      #  #  #              #  #  #  #    #  #    #  #    #  #    #  #       #  #  #    #  #  #  #  #      #  #   #  #   #   #   #    #    #     ##     ##        ####                     ###        ##     ##    #    #   #   #  #   #  #  #    #  #    # #      # # # # # # #      # #    #    #  #  #  #  #  #   #      #    #   ##   ##    ##     ##        ##                ###########                ###       ###      #     ##     #    #    #    #   #    #   #   #  #   #      #  #      #  #  #  #  #       #  #    #  #    #    #    # #    #      # #      # # #        # # # # # # # # # # # # # # # #          # # #      # # #    # #      #    # #    #    # #  # #  # #  #    #    #  # 
 #      # # #            # # # # # # # # # # # #          # # # #      # #    # #    # #    #    #    #  #    #  #       #  #  #  #  #      #  #  #   #  #   #   #   #   #    #   #    #    ##    ##    ##      ##       ##           #####                    ######          ##      ##     ##    ##   ##   #   #   #   #  #      #       #  #    #    # #                     # #    #    #    #  #  #      #      #    #   ##    #     ##       ####                           ###        ##     ##    ##    #   #    #   #   #   #  #      #  #  #              #  #  #  #       #  #       #  #       #  #  #                    #  #  #   #  #   #   #   #   #    #    ##    ##     ###        ####                  ####        ##     ##    ##   #    #  #   #              #  #    # #    # # # # # # # # #      # #  # #  #       #      #  #   #  #   ##   #    #    ##     #      ###         ####                           #####         ###      ##      #     ##    #    #    #    #   #   #   #   #   #  #   #  #  #      #  #  #  #  #    #  #  #    #    #  # #  # #    #      #      # #        # # #                                     # # # #        # #      # #      #      #    # #    #    #    #    #  # #  #    # 
 # #        # # # # #                             # # # # #      # # #    # #    # #    #    # #  #    #    #  #  #    #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #    #     #     #     ##      ###        ###                                        ###        ##     ##     #    #    #   #   #   #   #  #  #  #  #  #  #    #    # #        # # # # #        #    # #  #    #  #  #      #   #   #   #    #    ##     ##       ###                           ###        ##     ##    ##    #    #   #    #  #   #   #  #   #  #  #                       #  #  #  #       #  #  #  #  #                    #  #  #      #   #  #   #   ##   #    #    #     ##      ##         #####              #####        ##      ##    #    #   #   #   #  #           #  #    # #    # # #         # # #      #    #    #  #  #  #  #  #   #  #   #    #   #    ##    ##     ##       ###              ################              ###       ###      #     ##    ##    #    #    #   #    #   #   #  #   #      #  #      #  #  #  #  #       #  #    #  #    #    #    #    # #    # # #    # # #        # # # # # # #           # # # # # # #          # # #      # #    # #      #    # #    #    #    #    #    #    #  #   
   # # # #        # # # # # # # # # # # # # # # # #        # # #      # #      #    # #    #    #    #  #    #  #       #  #  #  #  #      #  #  #   #  #   #   #   #   #    #   #    #    ##    #     ##      ##      ###          #####                        #####         ###      ##     #     #    #   #   #   #   #      #  #  #  #    #  # #  # #      # # # # # # # #      # #    #  #    #  #  #      #   #   #   #    #    ##     ##       ####                         ####        ##      #     #    ##   ##   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #  #          #  #  #  #  #  #  #      #  #  #   #  #   #   #   #   #    #   ##    #     ##      ##          ######         ######          ##     ##     #    #   #   #   #  #           #  #    #      # #               # #      #    #  #    #  #  #      #  #   #   #    #    #    ##    ##      ##         ####                              ####         ###      ##      #     ##    #    #    #    #   #   #   #   #   #  #   #  #  #      #  #  #  #  #    #  #  #    #  # #  # #  # #    #    # #      # #      # # #            # # # # # # # # # #            # # # #      # #      # #      #      #    # #  # #    #    #    #  #    #   
#        # # # #                                     # # #        # #      #      #    # #  # #  #    #    #  #  #    #  #  #  #  #  #      #  #      #   #   #  #    #   #   #    #    #    ##    ##     ##      ##        ###                ############               ###       ##      #     #    ##   #    #   #  #   #  #           #  #    #    #      # # #       # # # #    # #    #  #    #  #  #      #   #   #   #    #    ##     ##        ###                          ###        ##      ##    ##    #    #    #   #   #   #   #  #   #  #   #  #  #  #            #  #  #  #  #  #  #  #  #  #  #  #  #  #   #  #  #   #      #   #   #   ##   #    #     #     ##      ##          #########   ########          ##      ##    ##   ##   #   #   #  #           #  #    #    # # #                 # #      #    #  #  #        #  #      #   #   ##   #    ##    ##     ##       ##             ####################             ###        ##      #     ##     #    #    #    #   #    #   #   #  #   #      #  #      #  #  #  #  #       #  #    #  #    #    #    #    # #    # #      # #        # # # # #                         # # # # #        # # #      # #      #      #    # #    #    #    #    #    #    #  #
# # #        # # # # # #                 # # # # # #        # # #      # #    # #    #    #    #    #  # #  #  #    #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   ##   #    #    #     #     ##     ##       ##          ####                             ####         ##       #     ##    #    #    #   #   #  #   #  #  #  #  #  #    #    #    # # #               # # #    #    #    #  #  #  #      #   #   #   #    #     #     ##        ####                         ####        ##      #     ##    #    #    #   #   #   #   #      #   #  #  #   #  #  #  #  #         #  #  #  #  #  #  #      #  #      #  #   #   #  #   #   ##   #   ##    #    ##     #       ##           ##################           ##      #     #    #    #   #   #  #  #        #  #    #    # #        # # #        # #    # #  #    #  #  #  #  #   #  #   #   #    #   ##    #     ##      ##        ####                                 ####         ##       #      #     ##    #    #    #    #   #   #   #   #   #  #   #  #  #      #  #  #  #  #       #  #    #  #    #    #    # #    # #    # #      # # #          # # # # # # # # # # # # # # #          # # #      # # #    # #      #      #    # #  # #    #    #  # #  #    #
    # # #            # # # # # # # # # # #            # # #      # # #    # #    # #    #    #    #  #    #  #       #  #  #  #  #  #      #  #      #   #  #   #   #    #   #    #    #    ##    ##     ##     ###       ###             #####################            ###       ##     ##     #    #    #   #   #   #  #   #  #  #  #  #    #    #    # #                     # #    # #  #    #  #  #  #  #   #   #   #   #    #     #     ##        ###                           ####        ##     ##     #     #    #    #   #   #   #   #   #      #      #  #      #  #  #      #  #  #  #      #  #  #   #  #   #  #   #      #   #    #   #    #    #     #     ##      ###           ##################          ###      #     #    #    #   #   #  #           #  #    #    #      # # # # # # # #      #    # #  #       #  #      #  #   #   #   #    #    #     #     ##       ###           #######          ########            ###       ##      ##     #     #    #    #    #   #    #   #   #  #   #      #  #      #  #  #  #  #  #    #  #  #    #    #  # #    #    # #    # #    # # #      # # # #                                   # # # #        # #      # #      # #    #    # #    #    #    #    #    #    #
        # # # # #                             # # # #        # # #    # #    # #    #    # #  #    #    #  #       #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #    #    #    ##     #      ##      ###        ####                                  ####        ##      ##     #     #    #   #   #   #   #  #      #  #    #  #    #    # #      # # # # # # #      # #    #    #  #  #  #  #  #   #       #   #    #    ##     ##        ###                            ###        ###     ##     #     #    #    #   #   #    #  #   #   #   #  #   #  #  #   #  #  #   #  #  #   #  #  #   #  #   #  #   #      #   #   #    #   #    #    #     #      #       ##           ###################          ##      ##     #    #    #   #   #  #              #  #    # #    # # # # # # # # # #      #    #    #  #        #  #  #   #   #   #   #    #    ##    ##      ##        ###                                     ####        ###      ##     ##    ##    #    ##   #    #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #    #  #    #  #    #    #    # #    #      # #      # #          # # # # # # #       # # # # # # # #          # # #      # #      # #    # #    #    # #  # #    #    #  # #  #  
 # #          # # # # # # # # # # # # # # # # #        # # #      # #      #    # #    #    #    #    #  #  #    #  #  #  #  #  #  #  #      #  #   #      #   #   #   ##   #    #    #    #     #     ##      ##       ###           ########             #######           ##       ##     ##    ##   ##   #    #   #  #   #  #           #  #    #    #      # # # #     # # # #      #    #    #  #  #  #  #  #   #  #   #    #    #    ##     ##       ####                             ####        ##     ##     ##    #    #    #   ##   #   #   #   #   #  #   #      #      #  #   #  #   #  #      #      #   #  #   #   #   #   #   ##   #    #    ##    ##     ##      ###           ###################          ##      ##     #    #    #   #   #  #      #  #    #  #    #      # #               # # #    #    #    #  #  #  #  #  #   #      #    #   #    ##    #      #       ##           #####                    #####           ###       ##     ##     ##    #    ##   ##   #    #   #   #   #      #   #  #  #   #  #  #  #  #  #  #       #  #    #  # #  #    # #    #    # #      # #      # # #              # # # # # # # # #            # # # #      # # #      # #    # #    # #    #    #    #    #    #    #  
   # # # #              # # # # # #              # # # #      # #      # #    #    # #    #    #  #    #  #    #  #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   #    #   ##    #    ##    ##     ##      ###        ###                                       ####       ###     ##     #    ##   #    #   #   #  #   #  #  #  #  #  #    #    #    # # #                 # #      #    #  #              #  #   #   #    #   ##    ##     ##       ###                                ###        ##      #     ##    #    ##   #    #   #    #   #   #  #   #   #      #   #  #   #  #   #  #   #   #  #   #   #   #   #   #   #   #    #    #    ##    ##     ##      ###          #####################          ##      ##     #    #    #   #   #  #   #  #  #  #    #    #    # #                     # #    #    #       #  #  #      #  #   #   #    #   ##    #     #      ##        ###                                         ###        ##      ##     ##     #    ##    #   ##   #   #   #   #   #   #      #  #   #  #  #  #  #  #  #  #       #  #    #    #    #    #    # #    # #      # #        # # # # #                           # # # # #        # #      # #      # #    # #    #    # #    #    #    #  # #  
       # # # # #                         # # # # #        # #      # #    # #    #    # #  # #  #    #  #    #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #   #    ##    #    ##     #      ##       ###          #####                        #####         ###      ##     ##    #    #    #   #   #   #      #  #  #  #  #    #    #    # #      # # # # # #      # #    #    #    #  #  #  #   #  #   #   #   ##   ##    #     ##       ###                                   ###       ##      ##     #     #    #    #    #   #   #   #   #   #   #   #   #  #   #   #  #   #   #      #   #   #   #   #   #   #    #    #   ##    #     #      ##      ###          #######         #######         ###      #     #    #    #   #   #      #  #  #  #    #  #    # #      # # # # # # #      # #    #    #  #              #  #   #   #   #    #    #    ##     ##      ##         #####                           ####          ###      ##      ##    ##    ##    #    #   #    #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #    #  #  # #  #    #    #    # #    #      # #      # # #          # # # # # # # # # # # # # # # #          # # #      # #      # #    # #    # #    #    #    #    #    #    
# #          # # # # # # # # # # # # # # #          # # #      # #      #      #    #    #    #    #  #    #  #  #  #           #  #  #  #   #  #   #      #   #   #    #   #    #    #     #     #     ##      ###       ####               ##############              ###        ##     ##     #    #    #   ##   #  #   #      #  #  #  #    #  # #    #      # # # # # # # # # #    # #    #    #  #  #  #  #  #   #   #   #   #    #    ##     ##       ##                                      ###       ##      ##    ##    ##    #    #   #    #   #   #   ##   #  #   #   #   #   #   #  #   #   #   #   #   #   #   #    #   #    #    #     #    ##     ##       ##          ######              #####          ##      #     #    ##   #   #   #   #  #  #  #  #  #    #    #      # # # #     # # # #      #    #    #  #  #     #  #  #   #   #   #   #    #    #     #      ##       ###             ##################              ###        ##      ##     ##    ##    #    #    #   #    #   #   #  #   #   #  #      #  #  #  #  #  #  #  #  #    #  #    #  #    #    # #    #    # #      # #      # # # #                # # # #                # # # #        # #      # #    # #    # #    # #    #    #    #    #    
  # # # #                                     # # # #      # #      # #    # #    #    #    #    #  #    #  #  #  #              #  #  #      #  #   #   #   #   #   #   #    #    #    #     #     ##     ##       ##          ####                               ####         ##      ##     ##    #    #    #   #   #   #  #      #  #       #  #    # #    # # #               # # #    # #  # #  #  #  #  #  #  #   #  #   #    #    #    #     ##       ##             ###############             ###       ##      #     ##    #    ##   ##   #    #   #    #   #   #   #   #   #   #   #   #   #   #   #   #   #   ##   #   ##   ##   ##    #     ##     ##      ###         #####                   ####         ##      ##    ##    #   #   #   #   #  #        #  #  #    # #    # #                 # # #    #    #    #  #  #  #  #  #   #  #   #   #    #    #    ##     #      ###        ####                                 ####         ###      ##      #     #     #    #    #    #   #   #   #   #   #      #      #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #    #    # #    # #      # # #      # # # # # #                     # # # # # #        # # #      # #      #      #    # #    #    # #  # #  # #  # 
      # # # # # #                   # # # # # #        # #      # #    # #    # #    #    #  # #  #    #  #  #       #  #  #         #  #      #      #   #   #   #   #    #    #    #    #     ##     #      ##        ###            ########         ########            ##       ##      #     #    #    #   #   #   #   #  #              #  #    #    # #        # # # # # #      # #    #    #  #    #  #      #  #   #   #   #    #    ##     ##      ##           ######################           ###       ##      #     ##    #    ##    #   ##   #    #   #   #   ##   #   #   #   #   #   #   #    #   #   #    #    #   ##    #    ##    ##     ##      ###         ####                       ####         ##     ##     #    #   ##   #      #      #  #       #    #    # #      # # # # # #      # #    # #  #    #  #  #  #  #   #  #   #   #   #    #    #     #      ##      ###           #######             #######            ###       ##      ##     #     #    #    #    #    #   #   #   #   #  #   #  #   #  #  #              #  #  #  #    #  #    #    #    #    #      #      # #      # # #          # # # # # # # # # # # # # # #          # # #      # # #      # #    # #    #    # #    #    #    #    # 
 #          # # # # # # # # # # # # # #          # # #      # #      # #    #    # #  # #  #    #    #  #  #       #  #  #  #  #      #  #      #   #  #   #   #   ##   #   ##   #    ##    ##    ##     ##      ###        ####                                      ####        ##      ##    ##    #    #    #   #   #  #   #  #        #  #  #    #    # #    # # # #       # # # #    # #    #    #  #  #  #  #  #   #   #   #   #    #    #     ##      ##          #####                 ######          ##       ##      #     ##    ##    #    #    #   ##   #    #   #   #    #   #   #   ##   #   #    #   #    #   ##   ##    #    ##    ##     ##      ###        ####                            ####       ##      ##    #    #    #   #   #  #   #  #  #  #       #    # #    # # # # # # # # # #      # #  # #  #    #  #  #  #      #   #   #   #   #    #    ##    ##      ##        ###                                        ###        ###      ##     ##     #    ##    #   ##   #   ##   #   #      #   #  #   #  #  #         #          #  #  #    #  #    #    #    #    # #    # #      # #        # # #                                     # # # #        # # #      # #    # #    # #    #    # #    #    #    # 
 # # #                                     # # # #      # # #    # #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #    #    ##    ##     #      ##       ###          #####                        #####          ##       ##     ##    #    #    #   #   #   #   #  #  #  #  #  #  #    #    #    # #                     # #    # #  # #  #  #        #  #      #   #   #    #    ##    ##      ##         ####                         ####          ##       ##     ##     #    ##    #    ##   ##   #    #   ##   #   ##   #   #    #   #    #   ##   #    #    #     #    ##    ##     ##      ##         ###                                ####       ##      #    ##    #   #   #   #   #  #  #  #  #  #    #  # #    # #                   # #    # #    #  #       #  #      #  #   #   #   #    #    #     #     ##      ###         #####                          #####          ##       ##      #     ##    ##    #    #    #   #   #   #   #   #   #  #   #  #  #      #  #  #  #       #  #  #    #  # #  #    #    # #    # #    # #      # #        # # # # # #                   # # # # # #        # # #      # # #    # #    # #    # #    #    #    #    #   
   # # # # # #                   # # # # # #        # # #    # #      #      #    #    #    #    #  #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #    #    #    ##    ##     ##      ##        ###               ################              ###        ##     ##     #    #    #    #   #   #  #   #  #  #  #  #  #  # #  #    # #      # # # # # # # # #      #    # #  #    #  #  #  #      #   #   #   #   ##    #     #      ##        ###                                ####        ###      ##      #     ##    ##    #    #    #    #    #    #   #    #    #   #    #    #    #    #    #    ##    #     ##     ##      ##        ###                                     ###       ##     ##    #    #    #   #      #         #    #  #    #    # #      # # # # # # #      # #    #    #  #              #  #   #   #   #   #    #    ##    ##     ##        ##              ##################              ###        ##      ##     ##    ##    #    #    #    #   #   #   #   #   #  #   #  #  #   #  #  #  #  #  #  #    #  #  #    #  # #  # #  # #    #    # #      # #      # # #          # # # # # # # # # # # # # #            # # #      # # #    # #      #      #    # #    #    #    #   
         # # # # # # # # # # # # # #          # # # #      # #    # #    # #    #    #    #  # #  #       #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #    #   ##   ##    #    ##     #      ##      ###         ####                                  ####        ###      #     ##    ##   ##   #   #   #   #   #  #  #  #  #  #  #    #    #      # #                 # # #    #    #    #  #  #  #  #  #      #   #   #    #    #     #      ##       ###                                      ###         ##      ##     ##     #     #     #    #    #    #    #    #    #    #    #    #    #    #    #    ##    ##    ##     ##      ##        ###              ###############             ##       ##     #     #    #   #   #   #      #  #  #  #  #    #    # #    # # #           # # #      #    #    #  #           #  #      #   #   #    #    #    ##     ##      ##        ####                                  ####         ###      ##      #     ##    #    ##   ##   #    #   #   #   #      #   #  #      #  #  #  #  #  #  #  #       #  #    #    #  # #    #    # #    # #    # # #      # # # #                                     # # # #        # # #    # #      # #    # #    #    # #  # #  # #  #
# #                                     # # # #        # #      # #    #    # #    #    #  # #  #    #  #  #  #              #  #  #  #   #  #   #      #   #   #    #   #    #    #    ##    ##     ##      ##       ###           #######                #######          ###       ##     ##    ##    #   #    #   #   #  #   #  #  #  #  #  #    #  # #    # #      # # # # # # #      # #    #    #       #  #  #      #   #  #    #   #    #     #     ##       ###            ###################             ###        ##      ##     ##     #     #     #    ##    #    #    #    #    #    #    ##    #    #     #    ##     #      #      ##        ##            #######           #######          ###      ##     #    ##   #    #   #  #   #  #        #  #  #    #      # #        # #          # #    # #  # #  #  #        #  #  #   #   #   #   #    #    #     #      ##      ###           ######                 ######           ###       ##      ##     ##    ##    #    #    #   #   #    #   #  #   #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    #    # #    # #      # # #        # # # # #                       # # # # #        # # #      # # #    # #    # #    # #    #    #    #    #
# # # # #                       # # # # # #        # #      # #    # #    # #  # #    #  #    #    #  #  #       #  #  #  #      #  #  #   #  #   #   #   #   #   #   #    #    #    #    ##    ##     ##       ##        ###                                           ###        ##     ##     #     #    #   #   #   #   #   #  #  #  #  #  #  #    #    # #    # # #             # # #      #    #    #  #  #  #  #  #  #   #   #   #   ##   ##    #     ##      ###          #####                   #####           ###       ##      ##      #     ##    ##    ##    #    ##    #    #    ##    #    ##    #    ##    ##     #      #      ##       ###          #####                       #####         ##      ##    ##    #    #   #   #   #  #   #  #  #  #    #  # #  # #      # # # # # # # # #      # #    #    #  #  #  #  #  #  #   #  #   #   #    #    #    #     ##      ##       ####                                          ###        ##       ##     #     ##    #    #    #    #   #   #   #   #   #   #  #      #  #  #              #  #  #  #    #  #    #    #    #    # #    # #    # #      # # #          # # # # # # # # # # # # # # # #          # # #      # # #    # #      #      #    # #    #    #    #
    # # # # # # # # # # # # # # # # #        # # #      # #      # #    #    # #  # #  #    #    #  #  #    #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   ##   #    #    ##    ##     #      ##       ##          ####                               ####         ###      ##     #     #    #    #   #   #   #  #   #  #  #  #  #  #    #    #    # #        # # # # #        # #    #    #       #  #  #      #  #   #   #    #   ##    #     ##      ##        ####                               ####         ###       ##      ##     ##     #     ##    #     #    ##    #     #    ##    #     #     ##    ##     ##      ##       ##         ####                                 ###        ##      ##    ##    #   ##   #   #  #   #  #  #  #  #  #    #  # #    # #                   # # #    #    #    #  #  #  #  #  #  #   #   #   #   #   ##    #    ##     ##      ##         #####                             #####          ##       ##     ##     ##    #    ##   ##   #    #   #   #   #   #      #      #  #         #  #  #       #  #  #    #  #    #    #    #    # #    # #      # #      # # # #                # # # #                  # # #        # # #    # # #    # #    # #    #    # #  # #    #
            # # # # # # # #              # # #      # # #    # #    # #    #    # #  #    #    #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #    #    #    ##    ##     ##      ##       ###             #########        #########           ###       ##     ##     #    #    #    #   #   #  #   #  #  #  #  #  #  #    #    # #    # # #             # # #      #    #    #  #        #  #  #   #  #   #    #   ##    #     #      ##       ####                                        ###         ##       ##      ##     ##     #     ##    ##    ##    ##    #     #     ##    ##     #      #      ##       ##         ###                                        ###        ##     ##    ##   ##   #   #   #   #      #  #  #  #    #  # #    #      # # # # # # # # #      # #    #    #  #  #  #  #  #  #      #   #   #   ##   ##    #     #      ##       ##            ##########     ##########            ###        ##      ##     ##    ##    #    #    #   #    #   #   #   #  #   #   #  #  #      #  #  #  #  #  #       #  #    #  #    #    #    # #    #      # #      # #        # # # # #                           # # # # #        # # #      # #    # #    # #    # #    #    #    #  
 # #                             # # # # #        # #      # #    # #    #    #    #    #    #  #    #  #  #  #           #  #  #  #   #  #   #  #   #   #   #   #    #   ##   ##   ##    ##    ##     ##       ##         ###                                         ###        ##      ##     #    ##   ##   #   #   #   #   #  #  #  #  #  #  #    #  # #    # #        # # # # #        # #    #    #    #  #  #  #  #      #   #   #   #   ##    #    ##     ##       ###           ########################             ###        ###      ##      ##     ##     ##     #     #     ##    ##     #     ##     #      ##     ##       ##        ###             #######################            ###      ##     ##    #    #    #   #   #   #  #  #        #  #    #  # #    # # #                 # # #    #    #    #  #  #  #  #  #  #   #  #   #    #   #    #     #     ##      ##        ###                                        ###         ##      ##      #     ##    #    ##   #    #   #    #   #   #  #   #   #  #  #   #  #  #  #  #  #  #  #  #    #  #    #  #    #    # #  # #    # #    # #      # # #          # # # # # # # # # # # # # # # # #          # # #        # #      # #    # #    #    # #    #    #  
 # # # # # # # #   # # # # # # # # #        # # #      # #      # #    #    #    #    #    #  #    #  #  #       #  #  #      #  #  #   #  #   #  #   #   #   #    #   #    #    #    ##    ##     #      ##       ###          ####                             ####          ##      ##     ##    ##    #    #   #   #   #      #  #  #  #  #  #  #    #    # #    # # #             # # #      #    #    #       #  #      #  #   #   #   #   ##   ##    ##     #       ##         #####                           #####           ###       ##       ##      ##     ##     ##     #     ##     #     ##     ##     ##      ##      ###       ###           #####                         #####         ###      ##    ##    #    #    #   #   #  #   #  #  #  #  #    #  # #    #      # # # # # # # # #      # #    #    #  #  #  #  #  #  #  #   #   #   #   #    #    #     #     ##       ##          ####                           #####          ###       ##     ##     ##    ##    #    #    #   #   #    #   #  #   #   #  #      #  #  #  #     #  #  #  #  #    #  #    #  #    #    # #    #    # #      # #      # # # #            # # # # # # # # # #            # # # #      # # #      # #    # #    # #    #    # #    #  
     # # # # # # # # # # # # #          # # #        # #    # #    # #    #    #    #    #  # #  #  #    #  #  #  #  #  #  #      #  #      #   #  #   #   #    #   #   ##   ##   ##    #     ##     ##      ##       ###             ########################             ###       ##     ##    ##    #    #    #   #   #  #   #  #           #  #  # #  # #    # #      # # # # # # #      # #    # #  #    #  #  #  #  #  #      #   #   #   ##   ##    #     ##     ###       ####                                        ####         ###       ##       ##      ##     ##     ##     ##     ##     ##      ##     ##       ##       ###         ####                                      ###        ###     ##     #    #    #    #   #  #   #  #           #  #  # #  # #    # # #                 # # #    #    #    #  #           #  #   #  #   #   #    #   ##    #     ##     ##       ###             ######################             ###        ##      ##     ##    ##    #    #    #    #   #   #   #   #   #   #  #   #  #  #         #  #       #  #  #  #    #    #  # #  # #  # #    # #    # #      # #        # # # #                                 # # # #        # # #      # #      #      #      #    #    # #  
                                  # # # #        # #      # #    # #    #    #    #    #    #  #       #  #  #  #  #  #  #  #  #   #  #      #   #      #    #   #   #    #    #    #     #     ##     ##       ##        ####                                        ####        ##      ##    ##    ##   ##   #   #   #   #   #  #              #  #    #    #      # #                 # # #    # #    #  #    #  #  #  #  #   #  #   #   #   ##   #    ##    ##     ##       ###            #########################              ###         ###       ##      ##      ##      ##     ##      ##     ##      ##       ##       ###        ####               ###################             ###       ##      #     #    #    #   #   #   #   #  #  #  #  #  #    #  #    # #      # # # # # # # # #      # #    #    #  #              #  #   #  #   #    #   #    ##    #     ##      ##        ####                                      ####         ##       ##     ##    ##    ##    #    #   ##   #   #   #   #   #   #  #   #  #  #   #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #    # #    # #      # # #        # # # # # #                 # # # # # # #        # # #      # #      # #    # #    # #    #    #    
# #                         # # # # #        # # #    # #      # #    #    #    #    #    #  #    #  #  #  #              #  #  #      #  #   #   #   #   #   #   #   ##   #    ##    #     #     ##      ##       ##          #####                            #####         ###      ##     ##    ##    #    #   #   #   #   #  #      #  #  #    #  #    #    # #      # # # # # # # # #      # #    #    #  #    #  #  #      #  #   #   #   #    #    #     #     ##      ###         #####                               #####           ###        ###       ##      ##      ##      ##      ##      ###      ##       ###        ###            #####                          #####         ###      ##     ##    ##   ##   #   #   #   #  #   #  #  #  #    #  #    # #    # #                   # # #    # #  # #  #  #              #  #   #   #   #   #    #    #     #      ##      ###         #####                          #####          ###       ##      ##     #     #    #    #    #    #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #    #  #    #  # #  # #  # #    #    # #      # #      # # #          # # # # # # # # # # # # # # #          # # # #      # # #    # #      #      #    # #    #    
# # # # # # # # # # # # # # # #          # # #      # #      #    # #    #    #    #    #  #    #  #       #  #  #  #  #      #  #  #   #  #   #   #   #   #   #   #    #    #    #    ##    ##     ##      ##        ###             #########################            ###       ##     ##     #    #    #    #   #   #   #  #      #  #  #  #    #  #    # #    # #                       # #    # #  #    #  #           #  #      #   #   #    #    #    ##    ##      ##        ###                   #######                    ####          ###        ##       ##       ##      ###      ##       ##       ###        ##           ####                                        ####        ##      ##     #    ##   ##   #   #   #   #  #              #  #    #    # #    # # # # # # # # # # #    # #    #    #  #    #  #  #      #  #   #   #   #    #   ##    #     ##     ##        ##             ######################             ###        ##      ##      #     #     #    #    #   #    #   #   #   #   #  #   #  #   #  #  #  #           #  #  #  #    #  #    #  # #  # #  # #    #      # #    # # #      # # # #              # # # # # #                # # # #      # # #      # #    # #    # #    #    # #    
    # # # # # # # # # # #            # # #      # # #    # #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   ##   #    #    ##    ##    ##      #       ##         ###                                         ####        ##      ##     #     #    #   ##   #   #   #  #   #  #  #  #  #  #    #  # #    #      # # # #         # # #      # #    #    #  #  #  #  #  #  #   #  #   #   #   ##   ##    #    ##     ##       ###           ######                       ######             ###         ###        ##       ###       ##       ##       ###        ##          ###               ############   ###########             ###       ##     ##    ##    #    #   #   #   #      #  #  #  #  #  #    #    #    # #          # # #        # #      #    #  #    #  #  #  #      #      #   #   ##   #    #     #     ##      ##        ####                                       ###         ###      ##     ##     ##    #    ##   ##   #    #   #   #   #   #  #   #      #  #         #  #  #  #       #  #  #    #    #  # #  # #    #    # #    # #      # #        # # # # #                             # # # # #        # # #      # #      #      #      #    # #  # 
                               # # # #        # #      # #    # #    #    #    #    #    #  #    #  #  #  #  #        #  #  #  #   #  #   #  #   #   #   #   #   #    #   ##    #    #     #     ##      ##       ###         #####                              ####          ##       ##     #     #    #    #    #   #   #  #   #  #  #  #  #  #  #    #    #    # #        # # # # # #        # #    #    #    #  #  #  #  #  #   #  #   #   #   #    #    #     #     ##      ##         ####                                           ####           ###         ###        ##        ##        ##        ###         ###            #####                                   ####         ###      ##     #     #    #    #   #   #   #  #   #  #  #  #  #    #  #    # #    # # # #           # # #      # #  # #  #    #  #  #  #  #      #   #  #    #   #    #    #     #      #       ###         #####                           #####          ##        ##     ##     ##    ##    #    #    #   #    #   #   #   #      #   #  #  #   #  #  #  #  #  #  #  #       #  #    #  # #  # #  # #    #    # #    # #      # # #        # # # # # # #             # # # # # # #          # # #      # #      # #    # #    # #    #    # 
                         # # # # #        # # #      # #    # #    #    #    #    #    #  #    #  #       #  #  #  #         #  #      #      #   #   #   #   #   ##   #    #    #     #     #     ##      ###       ###            ########            ########           ###       ##      #     ##    #    #   #    #      #   #  #  #        #  #  #    #    #      # #                   # # #    # #    #  #    #  #  #  #  #   #  #   #   #   #   ##   ##    #     ##     ##        ##            ########                 ########              ####          ###         ###        ###        ###        ####          ####                  ##################               ###        ##      ##     #    ##   ##   #   #   #   #  #   #  #  #  #    #  #    #    # #      # # # # # # # #      # #    #    #    #  #  #  #  #  #      #   #   #   #   #    #     #     #      ##       ###             #######################             ###        ##      ##     ##     #    ##   ##   ##   #    #   #   #   #      #   #  #      #  #  #  #     #  #  #  #  #    #  #    #  # #  #    # #    #    # #      # #      # # #          # # # # # # # # # # # # # # #          # # # #      # # #    # #      # #    #    # #    # 
 # # # # # # # # # # # # # # #        # # #      # #      # #    #    # #  # #  #    #    #  #  #    #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #   #    ##    #    ##     #      ##      ##         ###                                           ####        ##      #     ##    #    #    #   #   #   #   #  #      #  #  #    #  #    #    # #      # # # #     # # # # #    # #    #    #  #    #  #  #  #   #  #   #   #   #   #    #    #     #      #       ##         ####                                            #####            ###          ###         ###         ###          ####             ######                               #####           ##       ##     ##    ##    #    #   #   #   #   #  #      #  #    #  #    #  # #    # # #                   # #      #    #    #  #  #        #  #  #   #   #   #   #    #    #    ##     ##      ##        ###                                         ###         ##       ##     ##     #     #    #    #    #   #    #   #   #   #  #   #  #   #  #  #      #  #  #  #       #  #  #    #    #  #    #    # #    #      # #    # # #      # # # #              # # # # # # #              # # # #      # # #      # #    # #    # #    # #    # 
 # # # # # # # # # # # #          # # #        # #      #      #    # #  # #  # #  #    #  #    #  #  #  #           #  #  #  #   #  #   #  #   #   #   #   #   #    #    #    #    #     #     ##      ##       ##          ####                                  ####         ##      ##     ##    ##    #    #   #   #   #   #  #   #  #  #  #  #    #  #    #      # #      # # # # # # #      # #    # #    #  #       #  #  #   #  #   #  #   #    #   #    ##    #     ##      ##       ###            ########                  #########                ####           ###          ###           ###            ####                      ############                   ###        ###      #     ##    #    ##   #   #   #   #   #  #  #        #  #  #    #    # #      # # # #     # # # #      # #    #    #  #       #         #  #   #   #   #   ##   #    ##    ##     ##      ###         #####                             #####          ##       ###     ##     ##    #     #    #    #   #    #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #       #  #    #  #    #    #    # #    # #    # #      # #        # # # #                                 # # # #        # # #      # #      # #    # #    #    # # 
                              # # # #      # # #    # #    # #    # #  # #    #  #    #    #  #  #       #  #  #  #  #      #  #      #      #   #   #   #   #   ##   #    #    #     #     #     ##      ##        ###           ######                    ######           ##       ##      #     #    ##   ##   #   #   #   #      #  #  #  #  #  #  #    #    # #    # #                     # # #    #    #    #  #    #  #      #  #      #   #   #    #   ##    #     #      ##      ##         ####                                                 #####             ####           ####            ####              #######                                 #####           ##       ##      ##    ##    #    #   #    #   #  #   #  #  #  #  #  #  #    #  # #    # #        # # # # # #      # #      #    #  #    #  #  #  #      #  #   #   #   #    #    #    #     ##     ##       ###            ########           ########            ###        ##      ##     ##    ##    #    ##   ##   #   ##   #   #   #      #   #  #      #  #  #  #        #  #  #  #    #  #    #  #    #    #    # #    # #    # #      # # #        # # # # # #                   # # # # # #        # # #      # # #    # #      #      #    # # 
                        # # # # #        # #      # #    # #    # #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #   #    #    ##    ##    ##     ##       ##        ###                ################               ###        ##      #     ##    #    #    #   #   #   #   #  #  #              #  #    #    # #      # # #           # # # #    # #    #    #  #       #  #      #  #   #   #   #   #    #    #    ##     ##     ###       ###            ######                            ########                #####             ####             #####                      ###################                 ####        ##      ##     ##    ##    #   #    #   #   #  #   #  #  #  #  #  #  #    #    #      # #                   # # #    # #    #  #    #  #  #  #  #  #   #  #   #   #   ##   #    #     #     ##      ##        ###                                           ####        ###      ##     ##     #     #    #    #    #   #    #   #   #   #  #   #  #   #  #  #      #  #  #  #       #  #  #    #  #    #    #    #    # #    # #    # # #      # # #        # # # # # # # # # # # # # # # # #          # # #        # #      # #    # #    # #    #   
#               # # # # # # #        # # #      # #    # #    # #    #    #    #  # #  #    #  #  #  #                 #  #  #      #      #   #   #   #   #   #    #   ##    #    #     #     ##     ##       ###         ####                                      ####        ##       #     ##    ##    #    #   #   #   #   #  #   #  #  #  #  #    #  #    #    # #        # # # # # # # #      # #    # #  # #  #       #  #      #  #   #  #   #    #   #    #    ##    ##     ##       ##         ###                    ###############                         #####               #####                #######                                          ####           ##       ##      ##    ##    #    #    #   #   #   #      #  #  #  #  #  #    #  # #    #      # # # #       # # # #      # #    #    #  #  #           #  #   #  #   #   #    #   ##    #    ##     ##      ###         ####                                  ####         ###       ##     ##     ##    ##    #    #    #   #    #   #   #   #  #   #   #  #  #   #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    # #    # #      # #      # # # #            # # # # # # # # # # #            # # #        # # #    # #      # #    # #    #   
# # # # # # # # # # # #          # # #      # # #    # #    # #    #    #    #    #  #    #  #       #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   #   #    #    #    #    ##    ##     ##      ##       ###          #####                           #####          ###      ##      #     #    ##   ##   #   #   #   #      #  #  #  #  #  #  #    #    #      # #        # # # #          # #    #    #    #  #    #  #  #      #  #   #   #   #   ##   #    ##    #     ##      ##       ###           #####                                             #######                  ######                    ##############          ###########               ###        ##       #      #     #    #    #   #    #  #   #   #  #  #  #  #  #  #    #    #    # #      # # # # # # # #      # #      #    #  #    #  #  #  #      #      #   #   #    #    #    ##    ##     ##       ###          ######                     ######           ###       ##      ##     ##     #    ##    #   ##   #    #   #   #   #   #  #   #  #   #  #  #  #              #  #  #  #    #  #    #    #    #    #    # #    # #      # #        # # # #                                     # # # #        # # #      # #    # #      #    # #   
# # # # # # # # #            # # # #      # #      # #    # #    #    #    #    #    #  #       #  #  #  #  #  #  #  #  #  #   #  #      #   #   #   #   #   #   ##   #    #    ##    #     ##     ##      ##        ###             #########       ##########            ###       ##      ##    ##    #    #    #   #   #   #   #  #         #       #  #    #    # #    # # #                   # #      #    #    #  #    #  #  #      #  #   #      ##   #   #    #     #    ##     ##      ###        ###              #########                      ############                       #######                                                           ####          ##       ##      #     #     #    #   ##   #   #   #  #   #  #  #  #  #  #  #    #    #      # #                       # #    # #    #  #    #  #  #  #  #  #   #  #   #   #   ##   #    #     #     ##     ###       ###              ###################               ###        ##      ##      #     ##    #    #    #    #   ##   #   #   #   #  #   #      #  #      #  #  #  #  #  #       #  #  #    #    #  # #  # #    #    # #    # #      # # #        # # # # #                           # # # # #        # # #      # # #    # #    # #    # #   
                         # # # #        # #      # #    # #    #    # #  # #  #    #  #    #  #       #  #  #  #  #      #  #  #   #  #   #   #   #   #   #   #   ##   #    #     #    ##     #      ##      ###        ####                                            ###        ##      ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #  #    #    #    # #    # # # #           # # # #    # #    #    #  #    #  #  #  #      #  #   #   #   #   ##   #    ##    #     ##      ##      ###          ####                      #################                                 ##########                                            ######           ###        ##      ##     ##    ##    #    #   #   #   #   #      #  #  #  #  #  #    #  #    # #    # # #                 # # #    # #    #    #  #  #        #  #  #   #  #   #   #    #   ##   ##    ##     ##      ##         ###                                       ####         ###      ##      ##    ##    ##    #    #    #   ##   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #  # #  # #  # #    #    # #      # #      # #          # # # # # # #             # # # # # # #        # # # #      # #      # #    # #    # #   
                     # # # # #      # # #      # #    # #    #    # #    #  # #  #    #  #       #  #  #  #  #  #  #  #  #   #  #      #   #   #  #   #    #   #    #   ##   ##    #     #     ##      ##       ##          ####                                   ####         ###      ##     ##    ##    #    #   #   #   #   #   #  #  #        #  #  #    #    #    # #      # # # # # # # # # #      # #    #    #  #    #  #  #  #  #      #   #  #   #    #   #    #    ##    ##     ##      ##        ###           #####                                                                 #################                 ############                ###         ###      ##      #     #     #    #   ##   #   #   #  #   #  #  #  #  #  #  #    #  # #    #      # # # # # # # # # # #      # #    #    #  #    #  #  #  #      #      #   #   #    #    #    #     #      ##      ###         #####                             #####          ###       ##      ##     #     #     #    #    #   #    #   #   #   #   #  #   #      #  #  #      #  #  #  #       #  #  #    #  # #  #    #    # #    #    # #      # #      # # #          # # # # # # # # # # # # # # # #          # # # #      # # #    # #      # #    #    #
             # # # # # # #        # # #      # #    # #    # #    #    #    #  # #  #    #  #  #  #                    #  #  #   #  #   #   #  #   #   #    #   #    #    #    #    ##    ##     ##      ##       ###           ######                        #####           ##       ##      #     #    ##    #   #   ##   #  #   #  #   #  #  #  #  #    #  # #  # #    # #        # # # # # # #      # #    # #    #  #    #  #  #  #  #  #   #  #   #   #   #   #    #    #     #     #      ##      ###        ###             #######                                                              ######################                        #####          ###       ##      #     ##    ##    #    #   #   #   #   #   #  #  #        #  #  #    #    #    # #      # # # # # # # #        # #    #    #    #  #  #  #  #  #  #   #  #   #   #   #    #    #    ##     #      ##       ###            #######             ########            ###        ##      ##     ##    ##    ##    #    #   #    #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    # #    # #      # #      # # # #            # # # # # # # # # # #            # # # #      # # #      # #    # #      #    #
 # # # # # # # # # # #        # # #      # # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #      #  #      #   #  #   #   #   #    #   #    #    #    #     #     ##     ##      ##        ###              ########################             ###       ##      ##    ##    ##   ##   #    #   #      #   #  #  #  #  #  #  #  # #  #    # #    # #          # # #          # #    # #    #  # #  #  #  #  #  #  #  #   #  #   #   #   #    #    #    #     #     ##      ##       ##         ####                #########                                                                                        #####           ###        ###      ##     ##    ##    #    #    #   #   #   #      #  #              #  #    #    #    # # #        # # # #        # # #    #    #    #  #       #      #  #      #   #   #   #    #    #     #     ##      ##        ###                 ###########                  ###        ###      ##      #     ##    #    ##   ##   #    #   #   #   #   #   #      #      #  #  #                    #  #  #    #  #    #    #    #    #    # #    # #      # #        # # # #                                       # # # #        # # #    # # #    # #    # #    #
 # # # # # # # #            # # #      # # #    # #    # #    #    #    #    #    #  #    #  #  #  #              #  #  #  #   #  #   #  #   #   #   #   #    #   #    #    #    ##    ##     #      ##      ###        ####                                           ####        ##      ##     ##    #    ##   #    #   #   #      #  #   #  #  #  #    #  #    #    # #    # # #                   # # #    # #    #    #  #  #              #  #   #  #   #   ##   #   ##   ##    #     ##     ##      ##       ###          ####                  #############                                                                 #######             ###         ##       ##     ##     #     #    #    #   #    #   #  #   #  #      #  #  #    #  #    #    #      # #                     # # #    # #  # #  #    #  #  #  #  #  #   #  #   #   #   #   ##   #    ##    ##     ##      ###        ####                                      ####         ##       ##      ##     #     #    #    ##   #    #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #    # #    # #      # # #      # # # # #                               # # # # #        # # #      # #      # #    # #    #
 # # # # #              # # # #      # # #    # #    # #    # #  # #  # #  #    #    #  #  #    #  #  #  #  #  #  #      #  #  #   #      #   #   #   #   #    #   #    #    #     #     #     ##      ##       ##          ####                                   ####         ###      ##      #     #    #    #    #   #   #   #  #   #  #  #  #  #  #  #    #  # #    #      # # #                 # # #    # #    #    #  #    #  #  #  #      #  #   #   #   #   #   #    #    ##    #     ##     ##      ###        ###          #####                    #############                                               ########              ####         ###       ##      ##     #     #    ##   #    #   #   #   #   #  #   #  #  #  #  #    #  #    #    # #    # # #               # # # #    # #    #    #  #  #           #  #  #   #   #   #   #   ##   ##    #     #      ##       ##          #####                           ######          ###       ##      ##     ##    ##    #    #    #    #   #   ##   #      #   #   #  #      #  #  #                 #  #  #    #  #    #  #    #    # #    #    # #    # #      # # #        # # # # # #                     # # # # # #        # # #        # #      # #    # #    #
                    # # # #        # #      # #      #    # #    #    #    #  #    #  #    #  #  #  #           #  #  #  #   #  #   #  #   #   #   #   #   #   ##   #    #    ##    #     ##     ##      ##       ###           ######                        #####           ###      ###     ##    ##    #    #    #   #   #   #   #  #      #  #  #       #  #    #    # #      # # # #           # # #      # #    #    #       #  #  #  #  #  #   #  #   #   #   #   #    #    #    #     #     ##      ##      ###        ###           #####                     ###########                                   #######                ####          ##        ##      ##     ##     #    ##    #   ##   #   #   #   #  #   #  #  #  #  #  #  #    #    #    # #      # # # #       # # # #      # #    #    #  #    #  #  #  #  #   #  #   #   #   #   #   ##    #    ##    ##      ##       ###            ########           #########            ###        ##      ##     ##     #     #    #    #    #   #    #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # #    # # #      # # #        # # # # # # # # # # # # # # # # # # #          # # #      # # #    # #      #      #
                # # # # #        # #      # #      #    # #    #    #    #    #  #    #  #       #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   #   #   ##   #    #    ##    ##    ##      #       ##        ###             #########################             ###        ##     ##     ##    #    #    #   #   #   #   #      #  #  #  #  #  #  #    #    #    # #      # # # # # # # # # # #      # #    #    #    #  #  #        #  #  #   #  #   #   #   #   ##   #    #     #     #     ##      ##       ##         ###            #####                   #########                           #######                ####          ###        ##       ##     ##     #     #    #    #   ##   #   #   #  #   #  #  #        #  #  #    #    #    # #      # # # # # # # # # #      # #    # #  #    #  #           #  #  #   #  #   #   #    #    #    #    ##     ##      ##        ###                 ###########                  ###         ##      ##      ##    ##    ##    #    #    #   #    #   #   #   #      #   #  #      #  #  #  #           #  #  #  #    #  #    #    #    #    #    # #    # #    # # #      # # #          # # # # # # # # # # # # # # # #          # # #        # #      # #    # #      #
          # # # # # #        # # #      # #      # #    #    # #  # #  # #  #    #  #    #  #  #  #           #  #  #  #      #  #   #   #  #   #   #    #   #   ##   #    ##    #     #     ##     ##       ##         ###                     ####                    ###         ##      ##     #     #    #    #   ##   #   #  #   #  #   #  #  #  #       #  # #  # #    # #      # # # # # # # # # #      # #    # #  #    #  #    #  #  #  #   #  #      #   #   #   #    #   ##    #    ##    ##     ##      ##       ###         ###            #####                 #######                      ######                ####          ###         ##       ##     ##     #     #    ##   ##   #    #   #   #  #   #  #      #  #  #    #  #    #    #    # #      # # # # # # # # #      # #    # #    #  #    #  #  #  #  #      #  #   #   #   #    #    #    #     #      #       ##         ####                                      ####         ###       ##     ##     ##    #     #    #    #   #    #   #   #   #   #      #      #  #      #  #  #  #  #  #  #    #  #  #    #    #  # #  # #  # #    # #    # #    # # #      # # # #          # # # # # # # # # # # #            # # # #      # # #      # #    # #    # #
# # # # # # # # # #        # # #      # #      # #    #    # #    #    #    #  #    #  #  #    #  #  #  #  #  #  #      #  #      #   #  #   #   #   #   #    #   ##   #    ##    #     #     ##      ##       ###         ####                                      ###         ###      ##     ##     #    #    #    #   #   #   #  #   #  #  #        #  #  #    #    #    # #        # # # # # # # # #      # #    # #    #  #    #  #  #  #  #  #  #   #  #   #   #   #   #    #    #    #     #     ##     ##      ##        ##         ###            ####                ######                  ######              ####           ###        ###      ##      ##     ##    ##    #    #    #   #    #   #  #   #  #   #  #  #  #  #  #    #  # #  # #    # #        # # # # # # #        # #    #    #    #  #              #  #      #   #   #   #    #    #    #     ##     ##       ##          #####                             #####           ##        ##      #      #     #    ##    #    #   ##   #   #   #   #   #   #  #   #  #   #  #  #  #           #  #  #  #    #  #    #  #    #    #    # #    #      # #    # # #      # # # #                # # # #                  # # # #        # #      # # #    # #    # #
# # # # # # # #          # # #      # # #    # #    # #    #    #    #    #    #  #    #  #  #  #  #           #  #  #  #   #  #   #  #   #   #   #   #   #    #   ##   ##   ##    ##    ##     ##      ##       ###           #####                            #####          ###       ##     ##    ##    #    #    #   #   #   #   #  #   #  #  #  #  #  #    #  # #  # #    # #      # # # # # # # # #      # #      #    #    #  #  #              #  #   #  #   #   #   #   ##   #    #    ##    ##     #      ##      ##       ###         ###           ####               #####               #####             ####           ###        ##       ##      ##     ##     #    ##    #    #   #   #    #  #   #   #  #  #  #     #  #  #  # #  #    # #    # #        # # # # # #        # #    # #  # #  #    #  #  #  #  #  #   #  #   #   #   #   #    #    #    ##     #      ##       ###            #######                #######            ###        ##      ##     ##    ##    ##    #    #   ##   #   #   ##      #   #   #  #   #  #  #   #  #  #  #  #  #  #       #  #    #  #    #    #    #    #      #      # #    # # #        # # # #                                   # # # #        # # #      # #      # #    # #
# # # # # #          # # # #      # # #    # #    # #    #    # #  # #  #    #    #  #  #    #  #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   #   #    #   ##   ##    #    ##     #      #       ##        ###            #######                #######            ###       ##      #     ##    #    #    #   ##   #   #  #   #  #                 #  #    #    #      # #      # # # # # # # #        # #    #    #    #    #  #  #  #  #  #      #  #   #   #   #   #    #   ##   ##    #     #     ##     ##       ##       ###        ####          ####             ####              ####            ####          ###        ##       ###     ##      #     ##    #    ##   ##   #   #    #  #   #   #  #      #  #  #  #    #  #    #    #      # #          # # #          # #      #    #    #  #       #  #      #  #   #  #   #   #    #    #    #    ##     ##      ##        ###               ##################               ###        ###      ##      #     ##    ##    #    #    #   #    #   #   #   #  #   #   #  #      #  #  #  #           #  #  #  #    #  #    #  # #  # #  # #    #    # #    # #      # # #        # # # # #                           # # # # # #        # # #      # #      # #    # #
# # #              # # # #      # # #    # #      #    # #    #    #    #  # #  #       #  #  #                 #  #  #      #  #   #   #  #   #   #    #   #   ##   #    ##    #     #     ##     ##       ##        ####               ##################               ###        ##      ##     ##    #    ##   #    #   #   #   #  #   #  #  #  #  #  #  #    #  #    # #    # #        # # # # # # #        # #    # #    #  # #  #  #              #  #      #   #   #   #   #    #   ##    #    #     ##     #      ##      ##        ##         ###         ####           ####            ####           ####         ###        ###       ##      ##     ##     #     #    #    #    #   #    #   #  #   #      #  #  #  #  #  #  #    #  # #    #      # #                       # # #    # #  # #  #    #  #  #  #  #  #  #   #  #   #   #   #    #   ##    #     #     ##      ###        ####                                          ###         ###      ###     ##     #     #    ##    #    #   #    #   #   #   #   #  #   #      #  #      #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # #    # #      # # #        # # # # # #                     # # # # # #        # # #        # #      # #    # #
               # # # # #      # # #      # #    # #    #    #    #    #    #  # #  #  #    #  #  #  #  #  #  #  #      #  #      #   #  #   #   #   #   #    #   ##   #    ##    #     #     ##      ##       ##         ####                                          ####        ###      ##     #     #    ##   ##   #   #   #   #   #  #   #  #  #  #  #    #  #    #    #    # # #      # # # # # # # #      # # #    #    #    #       #  #  #  #  #  #   #  #   #   #   #   #   #    #   ##    #    ##    ##     ##     ##      ###       ##        ###         ####          ####          ####          ###         ###        ##       ##      ##      #     ##    ##    #    #    #   #    #   #   #  #   #  #      #  #  #       #  #    #    # #    # # #                       # #      #    #    #  #    #  #  #  #  #   #  #   #   #   #   #   ##   ##    #     ##     ##      ###         #####                                  ####          ###       ##      #      #     #    ##    #    #   ##   #   #   #   #   #   #  #   #  #   #  #  #  #              #  #  #  #    #  #    #    #    #    #    # #    # #    # #      # # #          # # # # # # # # # # # # # # # # # # #          # # #      # # #    # #      # #
             # # # #        # # #      # #    # #    # #  # #    #    #  #    #  #    #  #  #                    #  #  #   #  #   #  #   #   #   #   #   #    #   #    #    ##    #     ##     ##     ##        ##          ####                                    ####         ###      ##      #     #     #    #   #    #   #   #  #   #  #              #  #  #    #    # #    # #        # # # # # # #        # #    # #    #  # #  #  #              #  #  #   #      #   #   ##   #   ##   ##    #    ##    ##     ##     ##      ##       ###        ##         ###          ###          ###         ###         ##        ##       ##      ##      #     ##    ##    #    #    #   ##   #   #   #      #      #  #  #  #  #  #  #    #    #    #      # #                       # # #    # #    #  # #  #  #           #  #  #   #  #   #   #    #   ##   ##    #     ##     ##       ###           #####                         #####            ##        ##      ##     ##     #    ##    #    #   ##   #   #    #   #  #   #   #  #   #  #      #  #  #  #  #  #  #  #       #  #    #  # #  #    #    # #    #      #      # #      # # # #        # # # # # # # # # # # # # # # # #          # # # #      # # #    # #      # #
         # # # # #        # # #      # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #  #   #    #   #   ##   #    #    ##    ##    ##     ##      ##        ###          ######                          ######          ###       ##     ##     #     #    #    #   #   #   #   #  #   #  #  #  #  #  #  #    #  # #  # #    # #        # # # # # # # #      # # #    #    #    #    #  #  #  #  #  #  #      #  #   #   #   #   #    #   #    ##   ##    ##    ##     ##     ##      ##       ##        ##        ###         ###         ###         ##        ###       ###      ##      ##     ##     ##    ##    #    #    #    #   #   #   #   #      #  #      #  #  #       #  # #  #    # #    # # #                       # #      #    #    #    #  #  #  #  #  #  #   #  #   #   #   #   ##   #    ##    #     ##      ##        ##             ##########       ##########             ###        ##       #      ##    ##    ##    #    #    #   #    #   #   #   #      #   #  #   #  #  #  #                 #  #  #  #    #  #    #    #    #    #    # #    # #      # #      # # # #          # # # # # # # # # # # # # #            # # #        # #      # #      # #
     # # # # # #        # # #      # #      # #    #    # #  # #  # #  #    #  #    #  #  #       #  #  #  #      #  #  #   #  #   #  #   #   #   #   #    #   #    #    #    ##    ##     #      #       ##        ###             ########             ########            ###       ##      ##     #     #    #    #   ##   #   #  #   #  #   #  #  #  #  #       #    #    #    # #        # # # # # # # # #      # #    # #    #    #  #       #  #  #  #   #  #  #   #   #   #   #   #   #    #    #    ##    #     ##     #      ##      ##      ##       ###        ##        ###        ###        ###       ###       ##       ##     ##      #     ##    ##    #    #    #    #   #   #   #   #   #  #   #  #  #  #  #  #  #  #    #    #    #      # #                       # # #    # #    #    #  #    #  #  #  #  #   #  #   #      ##   #   #    #    ##    ##     #       ##        ###                 #############                 ####        ##       ##      #     ##    ##    #    #    #   ##   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #       #  #    #    #  # #  # #    #    # #    # #      # #      # # # #            # # # # # # # # # # #            # # # #        # #      # #      # #
 # # # # # # #        # # #      # # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   ##   #    #    #    ##    ##     #      ##      ###        ####               ##################                ###        ##      ##     #     #    ##   #    #   #   #   #   #  #  #      #  #       #  #    #    #      # #      # # # # # # # # #        # #    # #  # #  #    #  #  #        #  #  #  #   #      #   #   #    #   #    #    #    #     #     #     ##     ##      ##      ##       ##        ##        ##        ###       ###       ##       ##      ##      ##     ##    ##    ##    #    ##   ##   #   ##   #   #   #  #   #  #      #  #  #  #  #    #  #    #    # #    # # #                       # # #    # #    #  # #  #  #              #  #   #  #   #   #   #    #    #    ##    ##     ##      ###        ####                                         ####         ###      ##      ##     ##    ##    #    #    #    #   #   #   #   #   #   #   #  #      #  #         #  #  #  #       #  #  #    #  #    #    #    #    # #    #      # #    # # #      # # # #                # # # # #                # # # # #      # # #      # #      # #
 # # # # #          # # #        # #    # #    # #    #    # #  # #  #    #    #  #  #       #  #  #  #  #  #      #  #  #   #  #   #   #      #    #   #   #    #    #    #    ##    ##     ##     ###      ###         ###                                            ####        ##       ##     #     #     #    #   #    #   #      #   #  #  #           #  #  #    #    # #    # #      # # # # # # # # # #        # #    #    #    #       #  #  #  #  #  #      #  #   #   #   #   #   #    #   ##   ##    #    ##    ##     #      #      ##      ##       ##       ##       ##        ##       ##       ##       ##      ##     ##     ##     #     #    ##    #    #   #    #   #   #   #   #  #   #  #  #              #  #    #  # #    #      # #            #            # #      #    # #  #    #  #  #  #  #  #  #      #   #   #   #   #    #    #    #     ##     ##       ##          ####                                  #####          ###       ##      ##     #     #     #    #    #    #   #    #   #   #   #  #   #   #  #      #  #  #  #  #  #  #  #  #  #  #    #  #    #    #  # #  # #    #    # #    # #      # # #      # # # # #                                     # # # #        # # #      # #      # #
 # # # #          # # # #      # #      # #    #    # #    #    #    #  # #  #       #  #  #                 #  #  #      #  #   #      #   #   #   #    #   #    #    #    #    ##     #     ##      ##       ###         #####                                     ####         ###      ##      #     ##    #    #    #   #   #   #   #  #   #  #  #  #  #  #  #    #  #    # #    # #      # # # # # # # # # # # #      #      #    #    #  #       #  #  #  #      #  #   #  #   #   #   #    #   #    #    #    #     #     #     ##     #      ##      ##      ##      ###      ##       ##       ##       ##      ##      ##     ##     #     ##    ##    #    #    #    #   #    #   #   #  #   #  #   #  #  #  #  #  #  #       #    #    # #    # #          # # # #          # #      #    #    #       #  #  #  #  #      #  #   #   #   #    #   #    ##    #     ##      ##       ##           #####                          ######           ###       ##      ##      #     #     #    #    #    #    #   #   #   #   #   #      #      #  #      #  #  #  #  #  #  #    #  #  #    #  #    #    #    #    # #    # #    # #      # # #      # # # # #                                 # # # # #        # # #      # #      # #
 # # #          # # # #      # #      # #    # #    #    # #  # #  #    #    #  #  #    #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #   ##   ##    #    ##     #      #      ###       ###          #####                               ####           ##       ##      #     ##    #    #    #    #   #   #  #   #      #  #  #  #  #  #    #  # #  # #    # #    # # # #             # # # #      #    # #    #  # #  #  #                 #  #   #  #   #   #   #   #   #    #   #    #    ##    #     #     ##     #      #      ##      ##      ##      ###      ##      ##      ###     ##      ##     ##     #     #     #    ##    #    #   #    #   #   #   #   #      #  #   #  #  #  #  #  #    #  #    #    # #    # #        # # # # # # #        # #    # #    #    #  #       #  #  #      #  #   #   #   #   #   #    #    ##    #     ##      ##       ###             ########            #########            ###        ###      ##     ##     #     #    ##   ##   #    #   #   #    #  #   #   #      #      #  #  #                 #  #  #  #    #  #    #    #  # #    #    #      #      # #      # #        # # # # #                             # # # # #          # # #      # #      # #
 #            # # # #      # # #    # #      #    # #    #    #    #    #  #    #  #  #       #  #  #  #         #  #  #   #  #   #   #  #   #   #    #   #   ##   #    ##    #    ##     #      ##      ##        ###            ######                     ######            ###       ##      ##    ##    ##    #   ##   #   #   #   #   #  #      #  #  #  #    #  #    #  # #    # #    # # # #               # # # #      #    # #    #  #    #  #  #  #  #  #  #  #  #   #  #   #   #   #   #   #    #    #   ##    #    ##    #     ##    ##     ##     ##      ##      ##      ##      ##      ##     ##      ##     ##     ##    ##     #    ##    #    #    #    #   #    #   #   #  #   #   #  #  #      #  #       #  #    #  # #  # #    # #        # # # # # # # #        # #    # #    #    #  #  #              #  #   #  #   #   #   #    #    #    #     #     ##      ###       ####               ##################                ###         ##       ##     ##     #     #    ##    #   ##   #    #   #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    # #    # #    # # #    # # #        # # # # # #                       # # # # # #        # # #        # #      # #
            # # # #        # #      # #    # #    #    # #  # #  #    #    #  #    #  #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #    #   #    #    #     #    ##     ##     ##      ###        ###              ##########################             ###        ##      ##     #     #    #    #    #   #   #   #  #   #  #         #       #  #    #    #    # #    # # #                     # # #      #    # #  # #  #    #  #  #  #  #  #  #  #   #  #   #  #   #   #   #    #   #    #    #    #    ##    #     #     ##     #      #      ##     ##      ##     ##      ##     ##      #      #     ##     #     #    ##    #    #    #   ##   #   #   #   #   #   #  #   #  #  #           #  #  #    #  # #    #    # #        # # # # # # # # # #      # #    # #    #  #    #  #  #  #  #  #  #      #   #  #    #   #   ##   ##    #     #      #       ##        ####                                            ####         ##       ##      ##     #     #    ##    #    #   #    #   #   #   #   #   #      #      #  #  #      #  #  #  #       #  #  #    #  #    #  # #  # #    #    # #    # #    # #      # # #        # # # # # # #                 # # # # # # #        # # #        # #      # #
          # # # #        # #      # #      #    # #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   #   #   #    #    #    #     #    ##     ##     ##       ###        ####                 ##############                 ###        ##       ##     #     #    ##   ##   #   #    #  #   #   #  #  #           #  #  #    #    #    #      # #            # #            # #      #    # #  # #  #    #  #  #  #  #  #  #      #  #   #   #  #   #    #   #   #    #    #    #    ##    #     #     #     ##     #      #      ##     ##     ##     ##     ##     ##     ##     #     #     #    ##    #    #    #   #    #   #   #   #   #      #      #  #  #  #  #  #  #  #    #    #    #    # #      # # # # # # # # # # # #      # #    # #  # #  #    #  #  #  #  #  #  #   #  #   #   #   #   #    #    #    ##     #      ##      ###         ####                                      ####          ###       ##      #      #     #     #    #    #    #   #   ##   #   #   #  #   #      #  #   #  #  #  #  #     #  #  #  #  #    #  #    #  #    #    #    #    # #    # #      # #      # # #        # # # # # # # # #     # # # # # # # # #          # # #        # #      # #
        # # # # #      # # #      # #    # #    #    # #    #  # #  #    #  #    #  #  #       #  #  #         #  #  #   #  #   #  #   #   #   #   #    #   #    #    #    #    ##    ##     ##      ##       ##         ####                                           ####         ##       ##     ##    ##    #    #    #   #   #   #   #  #   #  #  #  #  #  #  #  #    #    #    #      # #        # # # # # # #        # #      #    # #  #    #  #    #  #  #  #  #  #   #  #      #   #   #   #   #   #   ##   #    #    #    #     #    ##    ##    ##     #     ##     ##     ##     ##     ##     #     ##     #     ##    #     #    ##    #    #   ##   #   ##   #   #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #    # #      # # # #             # # # #    # #    # #  # #  #    #  #  #  #  #  #   #  #   #  #   #   #    #    #    #    ##    ##      ##       ##          #####                                #####          ###       ##      ##     ##     #     #    #    #    #   ##   #   #   #   #   #      #      #  #      #  #  #  #  #  #  #  #    #  #  #    #    #  # #  # #    #    # #    # #    # #        # # #        # # # # # # # # # # # # # # # # # # #          # # #        # #      # #
      # # # # #        # #      # #      #    # #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #   ##   ##    #    ##    ##     ##      ##       ###          ####                                      ####         ###       ##     ##    ##    #    ##   #    #   #   #      #   #  #  #  #  #  #  #  #    #    #    #    # #        # # # # # # # # # #        # #    # #  # #  #    #  #    #  #  #  #  #      #  #   #  #   #   #   #   #   #   ##   #    #    #    #    ##    #     #     #     #     ##     #     ##     #     ##     #     ##     #     #    ##    #    ##    #    #   ##   #   #    #   #   #  #   #   #  #      #  #  #  #  #  #    #  #    #    #    # #    # # #                     # # #      #    # #  # #  #       #  #  #  #      #  #   #   #   #   #   #    #    ##    #     ##      ##       ###           ######                        ######           ###        ##      ##     ##     #     #    ##   ##   #    #   #   #    #  #   #   #   #  #      #  #  #      #  #  #          #  #  #    #  #    #    #    #    #    # #    # #      # #      # # #          # # # # # # # # # # # # # # # # # #          # # #        # #      # #
    # # # # #        # # #      # #    # #    #    # #    #    #  # #  #    #  #  #    #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #    #   #    #    #    ##    ##    ##     ##      ###       ###          #####                                #####          ###       ##     ##     #     #    #    #   #   ##  #   #   #  #   #  #  #  #  #  #  #    #  # #  # #    # #      # # # #           # # # #      # #    # #    #  # #  #  #    #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #    #   ##   ##    #    ##    #     #     #     #     ##    ##     #     ##    ##    ##    ##    ##    #    ##    #    #    #   ##   #   #    #   #   #  #   #   #  #  #   #  #  #  #  #  #    #  #    #    #    # #    # # #                         # #      #    # #  #    #  #    #  #  #      #  #      #   #   #   #    #    #    #     #     ##      ##        ###            #########            ########             ###        ###      ##     ##     #     #    ##    #   ##   #    #   #   #   #   #      #   #  #      #  #  #  #  #  #  #  #  #  #  #    #  #    #  # #  #    # #  # #    # #    # #    # # #      # # #          # # # # # # # # # # # # # # # #            # # #        # #      # #
  # # # # #        # # #      # #      #    # #    #    # #  #    #    #  #    #  #  #          #  #         #  #  #   #  #   #  #   #   #   #   #   #   ##   #    #    #    ##    ##    ##     ##       ##        ###           ######                         #####           ###       ###     ##     ##    #    ##   #    #   #   #   #   #  #   #  #  #  #  #  #  #    #  # #  # #    #      # # #                     # # #      #      #    #    #  #       #  #  #  #  #      #  #   #  #   #   #   #   #   #   #    #   #    #    #    #    ##    #     #    ##    ##    ##    ##    ##     #     #    ##    ##    #     #    #    #    #    #    #   #   #    #   #      #   #      #  #      #  #  #  #  #    #  #    #    #    #      # #        # # # # # # # #      # # #    # #  # #  #    #  #       #         #  #   #  #   #   #    #   #    #    ##    ##     ##      ##        ###               #####################               ###         ##       ##     ##     ##    #     #    #    #    #   #   #   #   #   #   #   #  #   #  #  #   #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    #    # #    # #      # #        # # #          # # # # # # # # # # # # # # #          # # # #        # #      # #
# # # # # #        # # #    # # #    # #    # #    #    #    #    #  #    #  #    #  #  #  #  #  #  #  #  #  #  #   #  #      #   #  #   #   #   #    #   #    #   ##    #    #     ##    ##      ##      ##        ###             ########              ########             ###       ###      #     ##    ##    #    #    #   #   #   #      #      #  #  #  #  #  #    #  #    #    # #    # # #          # # # #          # # #    # #    #    #    #  #       #  #  #  #  #      #  #   #  #   #   #  #    #   #   #   #    #    #   ##    #    #    #     #    ##    #     #    ##    ##    ##    #     #    ##    #    ##   ##    #   ##   #    #   #   ##   #   #   #  #   #      #  #      #  #  #  #  #    #  #    #  # #    #    # #        # # # # # # # # # # #      # #    # #    #  # #  #  #              #  #  #   #   #   #   #   #    #    #    ##    ##     ##      ###        ###                      ###                      ###         ###      ##      ##     ##    ##    #    #    #    #   #    #   #   #   #   #  #   #  #   #  #  #         #  #  #       #  #  #       #    #  #    #    #    # #    # #    # #    # # #      # # # #          # # # # # # # # # # # # #            # # # #        # #      # #
# # # # #        # # #      # #      #      #    # #  # #  # #  #    #    #  #  #    #  #  #  #  #  #  #  #  #   #  #  #   #  #   #   #   #   #   #   #    #   #    #    ##    #     #     ##      ##      ###        ###               #######################              ###        ###      ##     #     #    ##   ##   #    #   #   #  #   #  #   #  #  #  #  #  #    #  #    #    # #    # #        # # # # # # # # # #      # #      #    #    #    #  #    #  #  #  #  #  #  #   #  #      #   #  #   #   #   #    #   #   ##   #    #    #    #    #    ##    #    ##    #     #    ##    #    ##    #    ##    #    #    #    #    #    #   #   ##   #   #   #   #  #   #      #  #      #  #  #  #  #    #  #  # #  #    # #    # #      # # #               # # # #      #      #    #    #  #  #           #  #  #   #  #   #   #   #   ##   #    #     #     #      ##      ###         ####                                         ####          ##       ##      ##     ##    ##    #    ##   ##   #    #   #   #   #   #   #   #  #   #  #   #  #  #  #  #  #  #  #  #  #  #  #    #  #    #    #  # #  # #    #    # #    # #      # #        # # #              # # # # # # # # # # #            # # # #        # #      # #
# # # #          # # #      # #    # #    # #    #    #    #    #    #  #    #  #  #       #  #  #  #  #      #  #  #   #  #   #      #   #   #   #    #   #    #    #    #     #     #     ##      ##       ##         ###                   ############                  ###        ###      ##     ##    ##    #    #    #   #   ##  #   #   #  #   #  #  #  #  #  #    #  #    #    #    # #      # # # #             # # # #      # #    # #  # #  # #  #    #  #  #  #  #  #  #  #      #  #   #      #   #   #   #   #    #   #    #   #    #    #    #    #    ##    #    ##    #    #     #    #    ##    #    #    #    #    #   ##   #   ##   #   #   #   #   #      #   #  #      #  #  #  #  #  #       #  #    #    #    # #      # # #                       # # #    # #    #    #    #  #  #           #  #  #   #  #   #   #   #    #   ##    #    ##    ##      ##      ###          ####                                     ####          ###       ##      ##     ##    ##    ##    #    #    #   #    #   #   #   #   #  #   #      #  #      #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    #      # #    # # #      # # # #              # # # # # # # # # #            # # # #        # # #    # #
# # # #        # # #      # #      # #    #    # #    #    #    #  #    #  #    #  #  #  #              #  #  #  #   #  #   #  #   #   #   #   #   #   #    #   ##   ##    #    ##     #     ##      ##       ###         ####                                            ###         ###      ##      #     #     #    #    #   #   #   #   #   #  #      #  #  #  #  #       #    #  # #    # #    # # #                       # # #      # #    #    #    #  #    #  #  #  #  #  #  #  #  #   #  #   #  #   #   #   #   #   #   #   #    #   ##   #    #    #    #    #    #    ##    #    #    ##   ##    #    #    #    #    #   ##   #   ##   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #    #  #    #    #    # #    # #          # # # # # # #        # #      #    #    #    #  #  #        #  #  #  #   #   #  #   #    #   #    #    #     #     ##      ##       ##           ####                                #####          ###        ##      ##     ##     #     #    #    #    #    #   #   #   #   #   #   #      #      #  #         #  #  #  #  #       #  #       #    #  #    #    # #  # #    # #    # #      # #        # # # #              # # # # # # # #              # # # #        # # #      #
# # #          # # #      # #    # #    # #    # #  # #  # #  #    #    #  #  #    #  #  #  #  #  #  #  #  #      #  #      #   #  #   #   #   #   #    #   #    #    #    ##    ##    ##     ##      ##       ###          ####                                        ####         ###      ##      ##    ##    ##   ##   #    #   #   #   #   #  #      #  #  #  #  #  #    #  #    #    # #    # # #        # # # # # # # #        # #      #    # #  #    #    #  #  #              #  #  #  #   #  #   #   #  #   #   #   #   #    #   #    #   #    #    #    #    #    #    #    #    #    #    #    #    #    #    #    #   #    #   #   #    #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #  #    #  # #  # #  # #    # #        # # # # # # # # # # # #      # #    #    # #  #    #  #  #        #  #  #      #   #   #   #   #   ##   ##    #    ##     ##     ###       ###           ######                        ######            ###       ###      ##     ##     #     #    ##    #   ##   #    #   #   #   #   #      #   #  #      #  #  #                 #  #  #  #    #  #    #    #  # #    #    #    # #      # #    # # #      # # # #                # # # # # # #              # # # #        # # #      #
# # #        # # #      # # #    # #    # #    #    #    #    #    #  #    #  #       #  #  #  #  #  #  #      #  #  #   #  #   #   #   #   #   #   #   #    #    #    #    ##    #     ##     ##      ##        ##           ####                                    ####          ###       ##     ##     #     #    #    #    #   #   #   #      #      #  #  #  #  #  #    #  #    #    #      # #      # # # # #     # # # # # #      # #    # #    #    #  # #  #  #       #  #  #         #  #      #      #   #   #   #   #   #   #   #    #   #    #   ##   #    #    #    #    #    #    #    #    #   ##   #    #   ##   #   ##   #   #   #   #   #   #   #  #   #  #   #  #  #  #           #  #  #    #  #    #    #      #      # # # #                   # # #      #    # #    #  #    #  #  #        #  #  #   #  #   #   #   #   #    #    #    #     #     ##      ##        ###            ########                #######             ###        ###      ##     ##     ##    #     #    #    #    #   #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    # #    # #    # #      # #        # # # #                # # # # #                # # # # #      # # #      #
# #          # # #      # #      # #    #    # #    #    #    #  # #  #       #  #  #       #  #  #         #  #  #   #  #   #  #   #   #   #   #   #    #   ##   #    ##    #     #     ##     ##      ##        ###           #####                              #####           ###       ##      ##    ##    ##    #    #   ##   #   #   #      #      #  #  #  #  #  #  #    #    #    #    # #    # # #                       # # #      # #    #    # #  #    #  #    #  #  #  #  #  #  #      #  #   #  #   #  #   #   #   #   #   #   ##   #   #    #   #    #    #   #    #    #    #   ##   #    #    #   ##   #   ##   #   #   ##   #   #   #   #  #   #   #  #   #  #  #         #  #       #  #  #    #  # #  # #    # #    # # #          # # # #          # # #    # #    #    #    #  #  #           #  #  #   #  #   #   #   #   #    #    #    ##    ##     ##      ##        ###              #########################              ####        ##       ##      #     ##    ##    #    ##   #    #   ##   #   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #    #  #  #    #    #  #    #    # #    #    # #    # #      # # #      # # # #                  # # # #                  # # # #        # #      #
# #        # # # #      # #    # #    # #    # #  # #    #  # #  #    #  #    #  #  #  #  #        #  #  #  #  #   #  #   #  #   #   #  #   #    #   #   #    #    #    #    ##    ##     #      ##      ##        ###            ######                         ######           ###       ##      ##     ##    #     #    #   #    #   #   #  #   #      #  #  #  #  #  #  #    #  #    #    # #    # # #        # # # # # # # #        # # #    # #    #    #    #  #    #  #  #  #  #  #  #  #  #  #   #  #   #  #   #   #  #   #   #   #    #   #   #   ##   #   ##   #    #   #    #    #   #    #    #   #    #   #    #   #   #   #   #   #   #   #   #      #      #  #      #  #  #  #  #  #       #  #    #    #    # #    # #        # # # # # # # # # # #        # #    #    # #  #    #  #  #           #  #  #   #  #   #   #   #    #   #    ##    #     #      ##      ##        ####                #################                 ###         ##       ##      #     ##     #    ##    #    #   ##   #   #    #   #      #   #   #  #      #  #  #      #  #  #  #       #  #  #    #  #    #    #  # #    #    #    # #      # #    # # #        # # # #                                         # # # #        # # #     
# #        # # #      # # #    # #    # #    #    #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #  #   #  #  #   #      #   #   #   #   #   #    #   ##   ##    #    ##    ##     #      ##      ###        ###             #######                 #######             ###       ###      ##     #     #    ##   ##   #    #   #   #  #   #      #  #  #  #  #  #  #  #    #    #    #    # #      # # # # #           # # # # #      # #    # #    #    #  #    #  #       #  #  #  #      #  #  #   #  #   #  #   #   #   #  #   ##   #   #   #   #    #   #   ##   #   ##   #   ##   #    #   #    #   #   #    #   #   #   #   #   #   #   #  #   #      #  #   #  #  #  #  #  #  #  #  #       #    #  # #  # #    # #      # # #                   # # # #      #    # #    #  # #  #  #              #  #  #   #  #   #   #   #    #   ##    #    ##    ##     ##       ##         ###                                               ###         ###       ##      ##     #     #     #    #    #    #   ##   #   #   #   #   #   #  #   #  #      #  #  #  #           #  #  #  #    #  #  #    #    #    #    #    # #    # #    # #      # #        # # # #                                         # # # #        # # #     
#          # # #      # #      # #    # #    #    #    #    #    #  #    #  #  #    #  #  #  #  #  #  #      #  #  #   #  #   #   #  #   #   #   ##   #   #    #    #    #     #     #     ##      ##      ###        ###              ###########################              ###        ##      ##     ##    ##    #    #    #   #    #   #  #   #      #  #  #        #  #  #    #  #    # #    #      # # #                           # #      # #    #    #    #    #  #    #  #  #  #  #  #  #  #      #  #      #   #  #   #   #   #   #   #   #   #   #   #   ##   #   #    #   #   ##   #   #    #   #   #    #   #   #   #   #   #   #   #  #   #      #      #  #  #         #          #  #  #    #    #    #    # #    # # #        # # # # # # #          # #    # #    #    #    #  #       #  #         #  #   #  #   #   #   ##   #    #    #    ##     #      ##      ###         ####                                           ####         ###       ##      ##     ##    ##    #    ##    #   ##   #   ##   #   #   #   #  #   #  #   #  #      #  #  #  #  #  #  #  #  #       #  #    #  #    #    #    #    # #    # #    # #      # # #      # # # #                                         # # # # #      # # #     
#          # # #      # #      #      #    # #    #    #    #  #    #       #  #  #       #  #  #  #      #  #  #   #  #   #  #   #   #   #   #   #   #    #   ##   ##    #    ##    ##     ##      ##      ###        ####                ####################               ####        ##       ##     ##    ##    #    #    #   #    #   #  #   #   #  #  #              #  #  #    #    #    #      # #      # # # # # # # # # # # #        # #    # #    #    #    #  #    #  #  #                 #  #  #      #  #   #      #   #   #   #  #   #    #   #   #   #   #   ##   #   #   #    #   #   #   ##   #   #   #   #   #   #   #   #  #   #   #  #   #  #  #   #  #  #  #  #  #  #  #       #  #    #    #    # #    # #      # # # # # #       # # # # #      # #    # #    #  # #  #  #    #  #  #  #      #  #   #  #   #   #    #   #    #    #     #     ##     ##       ###         ####                                        ####          ###       ##      ##     ##     #    ##    #    #    #    #   #   #   #   #   #   #   #  #   #  #  #      #  #  #  #  #  #  #       #  #  #    #    #  # #  # #  # #    #    # #    # # #    # # #        # # # #                                         # # # #        # # #   
#        # # #      # # #    # #    # #    # #  # #    #  # #  #    #  #    #  #  #  #              #  #  #  #      #  #   #      #   #   #   #   #    #   #    #    #    ##    #     ##     ##     ##       ###         ###                   ############                  ####        ###      ##      #     #     #    #    #   #    #   #  #   #   #  #         #  #  #    #  #  # #  #    # #    # #    # # #                       # # # #    # #    # #    #    #    #  #       #  #  #  #  #  #  #  #      #  #   #  #   #  #   #   #      #   #   #   #   #   #    #   #   #   #   #   ##   #   #   #   #   #   #   #   #   #   #      #   #  #   #  #   #  #  #  #              #  #  #  #    #  # #  # #  # #    # #      # #                           # #      # #    #    #    #  #    #  #  #  #  #      #  #   #  #   #   #    #   #    #    ##    ##     #      ##       ###          ####                                    ####           ###       ##      ##     ##     #     #    ##    #   ##   #    #   #   #   #   #   #  #   #  #   #  #  #      #  #  #  #  #       #  #  #    #  #    #    #  # #    #    #      #      # #      # #        # # # #                                         # # # #        # # #   
#        # # #      # # #    # #    # #    #    # #  # #  #    #    #  #  #    #  #  #  #  #  #  #  #  #  #      #  #   #  #   #   #  #   #   #    #   #    #   ##   ##    #     #     #      #      ##       ###         ####                                              ####         ##       ##     ##     #    ##    #    #   #    #   #      #   #  #      #  #  #  #  #    #  #    #    #    #      # #        # # # # # # # # # #        # #      #    # #    #    #  #    #  #  #          #         #  #  #      #  #   #  #   #   #  #   #   #   #   #   #   #   #   #   #   #   #   #   #   #    #   #   #  #   #   #   #   #  #   #   #  #      #  #      #  #  #  #  #  #  #  #    #  #    #  # #  # #    # #    # #        # # # # # # # # # # #        # #    # #    #    #  #    #  #  #  #  #  #  #   #  #   #  #   #   #    #   ##   ##    #    ##     ##     ###       ###          #####                               ######          ###        ##      ##      #     ##    ##    #    #    #    #   #   #    #   #      #   #      #  #   #  #  #  #                 #  #  #       #  #    #    #    #    #    # #    # #    # #      # #        # # # #                                         # # # # #      # # #   
         # # #      # #      # #    # #    #    #    #    #    #  #    #  #       #  #  #  #  #  #  #  #      #  #  #   #      #   #   #   #   #   #   ##   #    #    #    ##    ##    ##     ##      ##       ###          ####                                           ####         ###      ##      ##    ##    ##    #    #   #    #   #   #  #   #  #   #  #  #  #  #  #  #    #  #    #    #      # #    # # # #                   # # # #      # #    # #    #    #  #    #  #    #  #  #  #  #  #  #  #  #      #  #      #  #   #   #  #   #   #   #  #   #   #   #   #   #   #   #   #   #   #   #   #   #   #   #  #   #   #  #   #      #  #   #  #  #  #                 #  #  #    #  #    #    #    #      #      # # # #                     # # #      # #    #    #    #    #  #  #  #  #  #  #  #      #   #  #   #   ##   #   ##   ##    #     #     ##      ##       ###           ######                           ######           ###        ##       ##     ##     #     #    ##    #   ##   #    #   #   #   #   #   #   #  #   #  #      #  #  #  #  #  #  #  #  #  #  #    #  #    #  #    #    #    #    # #    # #    # #      # # #      # # # #                  # # #                    # # # #        # # # 
         # # #      # #      # #    #    # #    #    #    #    #  #    #  #  #       #  #  #  #  #  #      #  #  #   #  #   #  #   #   #   #   #   ##   #   ##   ##   ##    #     #     ##     ##      ##       ###          ####                                         ####         ###       ##      #     ##    ##    #    #   #    #   #   #  #   #      #  #  #  #  #  #  #  #    #  # #  # #    #      # #        # # # # # # # # #          # #      #    # #    #    #  #    #  #       #  #  #  #  #  #      #  #  #      #  #   #      #   #  #   #   #   #   #  #   #   #   #   #   #   #   #   #      #   #   #      #   #  #   #  #   #  #      #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    # #    # # #        # # # # # # # # #        # # #    # #    #    #  #    #  #  #        #  #  #  #   #   #  #   #   ##   #    #    #    #     #      #      ###       ###            #######                     #######            ###        ##       ##     ##     ##    ##    #    #    #    #   #    #   #   #   #   #  #   #      #  #      #  #  #  #  #  #  #  #  #    #  #  #    #  # #  #    #    # #    #    # #    # #      # # #      # # # #                  # # # # #                # # # #        # # # 
         # # #      # #      #      #    # #    #    #    #  #    #  #    #  #  #       #  #  #  #      #  #  #      #  #   #   #  #   #   #   ##   #   #    #    #    #    ##    ##     #      #       ##       ###          #####                                      ####          ###       ##     ##     ##    #     #    #   #    #   #   #   #  #   #  #  #              #  #  #    #    #    #    # #      # # # #                   # # # #      # #    # #    #    #    #  #    #  #  #  #                 #  #  #  #   #  #  #   #  #   #      #   #      #   #   #   #  #   #   #   #   #  #   #   #   #  #   #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #       #  #  #    #    #    #    # #    # #      # # #                     # # #      # #    # #  # #  #    #  #       #  #      #  #  #   #      #   #   ##   #    #    #    ##    ##     ##      ##        ###             ########              #########             ###        ###      ##      #     ##     #    ##    #    #   ##   #   #    #   #   #  #   #   #  #   #  #  #      #  #  #  #  #  #  #       #  #    #  #    #  # #  # #  # #    #    # #      # #    # # #      # # # #                # # # # # # #                # # # #        # # 
         # # #      # #    # #    # #    # #  # #    #  # #  #    #  #    #  #  #  #                 #  #  #  #   #  #   #  #   #   #   #   #   #   #    #   #    #    ##    #     #     ##     ##      ###       ###           #####                                  #####          ###       ##      ##     ##    #    ##    #   #    #   #   #   #  #   #  #      #  #  #  #       #  #    #    #    # #    # # #        # # # # # # # # # #        # #      #    # #    #    #  # #  #       #  #  #  #  #  #  #  #  #  #  #   #  #  #   #  #   #  #   #  #   #   #  #   #   #      #   #   #  #   #   #   #  #   #  #   #      #      #  #      #  #  #                    #  #  #    #  #    #    #    #    # #      # #        # # # # # # # # # #        # #    # #    #    #    #  #    #  #  #  #  #      #  #   #  #   #   #   #    #    #    #    ##    ##     ##      ###        ###             ############################              ###        ###      ##      ##     #     ##    #    #    #    #    #   #   #   #   #   #   #  #   #  #   #  #  #      #  #  #  #  #       #  #  #    #  #    #    #    #    #    #      #      # #    # # #        # # #                # # # # # # # #              # # # #        # # 
         # # #      # #    # #    # #    #    # #  # #  #    #    #  #       #  #  #  #  #     #  #  #  #  #      #  #   #      #   #   #   #   #   ##   #    #    #    #    ##    ##     #      ##      ##        ###           #####                                #####           ###       ##      ##     #     #    ##    #   #    #   #   #   #      #      #  #  #  #  #  #  #    #  #    #    # #    # #      # # #                       # # #      # #    # #    #    #    #    #  #  #    #  #  #  #  #  #  #  #  #  #   #  #  #      #  #   #  #   #  #   #   #  #   #   #  #   #   #  #   #      #   #  #   #  #   #  #   #  #  #      #  #  #  #  #  #  #  #  #  #  #    #  #    #    #    #    #      # #      # # #                     # # #      # #    # #    #    #  #    #  #  #  #  #  #  #      #      #   #   #   #    #    #    #    ##    ##     ##       ##        ####              #######################               ####        ###       ##     ##     ##     #    ##    #    #    #   #    #   #   #   #   #      #   #  #      #  #  #                    #  #  #  #    #  #    #    #    #    #    # #    #      # #      # #        # # #              # # # # # # # # # #              # # # #        #