code: def merge_k_lists(lists):
      """Merge Lists"""
      dummy = node = ListNode(0)
      list_h = [(n.val, n) for n in lists if n]
      heapify(list_h)
      while list_h:
          _, n_val = list_h[0]
          if n_val.next is None:
              heappop(list_h)  # only change heap size when necessary
          else:
              heapreplace(list_h, (n_val.next.val, n_val.next))
          node.next = n_val
          node = node.next
  
      return dummy.next
  
imports: from heapq import heappop, heapreplace, heapify
  from queue import PriorityQueue
label_desc: Use image node_id 1 for calling a global function with example usage: merge_k_lists(lists) and returns: dummy