code: def fast_combine_pairs(files, force_single, full_name, separators):
      files = sort_filenames(files)
      chunks = tz.sliding_window(10, files)
      pairs = [combine_pairs(chunk, force_single, full_name, separators) for chunk in chunks]
      pairs = [y for x in pairs for y in x]
      longest = defaultdict(list)
      for pair in pairs:
          for file in pair:
              if len(longest[file]) < len(pair):
                  longest[file] = pair
      longest = {tuple(sort_filenames(x)) for x in longest.values()}
      return [sort_filenames(list(x)) for x in longest]