def process(exam_num: int, time: str, date: str) -> None:
    """Process the exams in the exam_num folder for the time."""
    prefix = Path(f"exams/exam-{exam_num}")

    problems = list(prefix.glob(f"exam-{exam_num}-{time}-[0-9].ipynb"))
    problems = sorted(problems, key=lambda k: k.stem[-1])

    output_directory = (prefix / "output").resolve()
    fw = FilesWriter(build_directory=str(output_directory))

    assignment_zip_name = output_directory / f"exam-{exam_num}-{time}.zip"
    solution_zip_name = output_directory / f"exam-{exam_num}-{time}-soln.zip"

    solution_pdfs: List[BytesIO] = []

    exam_date_time = datetime.strptime(time + date, "%H%M%d-%b-%Y")
    res: Dict[str, Union[str, int]] = {
        "exam_num": exam_num,
        "time": exam_date_time.strftime("%I:%M %p"),
        "date": exam_date_time.strftime("%b. %d, %Y"),
        "delete_pymarkdown": True,
    }

    for problem in problems:
        res["unique_key"] = problem.stem
        problem_fname = str(problem.resolve())
        if problem.stem.endswith("1"):

            assignment_nb, _ = sa_nb_exp.from_filename(problem_fname, resources=res)

            with ZipFile(assignment_zip_name, mode="a") as zip_file:
                zip_file.writestr(problem.name, assignment_nb)
        else:
            assignment_nb, _ = prob_nb_exp.from_filename(problem_fname, resources=res)

            with ZipFile(assignment_zip_name, mode="a") as zip_file:
                zip_file.writestr(problem.name, assignment_nb)

        solution_pdf, _ = solution_pdf_exp.from_filename(problem_fname, resources=res)
        solution_pdfs.append(BytesIO(solution_pdf))

        solution_nb, _ = solution_nb_exp.from_filename(problem_fname, resources=res)
        with ZipFile(solution_zip_name, mode="a") as zip_file:
            zip_file.writestr(problem.name, solution_nb)

    resources: Dict[str, Any] = {
        "metadata": {
            "name": f"exam-{exam_num}-{time}-soln",
            "path": str(prefix),
            "modified_date": datetime.today().strftime("%B %d, %Y"),
        },
        "output_extension": ".pdf",
    }
    fw.write(
        combine_pdf_as_bytes(solution_pdfs), resources, f"exam-{exam_num}-{time}-soln"
    )
Process the exams in the exam_num folder for the time.