def METHOD_NAME(headers, query_to_approach_to_times):
    print('\t'.join(headers))
    print('\t'.join(['---'] * len(headers)))
    approach_to_run_times = {}
    for q, att in query_to_approach_to_times.items():
        for a, t in att.items():
            approach_to_run_times[a] = []
            for i in range(0, nof_permutations):
                approach_to_run_times[a].append([])
        break
    for q, att in query_to_approach_to_times.items():
        row = [q]
        for approach in headers[2:]:
            row.append(produce_cell(att[approach]))
            for perm_num, time in enumerate(att[approach]):
                approach_to_run_times[approach][perm_num].append(time)
        print('\t'.join(row))
    row = ['average', ' ']
    for approach in headers[2:]:
        run_times = approach_to_run_times[approach]
        avgs = []
        for ts in run_times:
            cleaned_ts = [t for t in ts if t != -1.0]
            avgs.append(sum(cleaned_ts) / len(cleaned_ts))
        row.append(produce_cell(avgs))
    print('\t'.join(row))