code: def rouge_l_summary_level(evaluated_sentences, reference_sentences):
      
      if len(evaluated_sentences) <= 0 or len(reference_sentences) <= 0:
          raise ValueError("Collections must contain at least 1 sentence.")
  
      # total number of words in reference sentences
      m = len(_split_into_words(reference_sentences))
  
      # total number of words in evaluated sentences
      n = len(_split_into_words(evaluated_sentences))
  
      union_lcs_sum_across_all_references = 0
      for ref_s in reference_sentences:
          union_lcs_sum_across_all_references += _union_lcs(evaluated_sentences,
                                                            ref_s)
      return _f_p_r_lcs(union_lcs_sum_across_all_references, m, n)
docs: Computes ROUGE-L (summary level) of two text collections of sentences.
      http://research.microsoft.com/en-us/um/people/cyl/download/papers/
      rouge-working-note-v1.3.1.pdf
  
      Calculated according to:
      R_lcs = SUM(1, u)[LCS<union>(r_i,C)]/m
      P_lcs = SUM(1, u)[LCS<union>(r_i,C)]/n
      F_lcs = ((1 + beta^2)*R_lcs*P_lcs) / (R_lcs + (beta^2) * P_lcs)
  
      where:
      SUM(i,u) = SUM from i through u
      u = number of sentences in reference summary
      C = Candidate summary made up of v sentences
      m = number of words in reference summary
      n = number of words in candidate summary
  
      Args:
        evaluated_sentences: The sentences that have been picked by the summarizer
        reference_sentence: One of the sentences in the reference summaries
  
      Returns:
        A float: F_lcs
  
      Raises:
        ValueError: raises exception if a param has len <= 0