code: def find_kbest_answer_span(
      k, left_prob, right_prob, passage_length, max_answer_length
  ):
      if k == 1:
          return find_best_answer_span(
              left_prob, right_prob, passage_length, max_answer_length
          )
  
      queue = MaxQueue(k)
      for i in range(0, passage_length):
          left_p = left_prob[i]
          for j in range(i, min(i + max_answer_length, passage_length)):
              total_prob = left_p * right_prob[j]
              queue.push((total_prob, i, j))
      return list(sorted(queue.entries, key=lambda x: -x[0]))
  
imports: import argparse
  import heapq
  import json
  import os
  import pickle
  import logging
  import numpy
  from tensorflow.train import init_from_checkpoint
  import graph
  from util import Timer
  import nni
  import data
  import evaluate
  from train_model import *
label_desc: Use image node_id 6 for calling a global function with example usage: find_kbest_answer_span(k, left_prob, right_prob, passage_length, max_answer_length) and returns: list, find_best_answer_span