def METHOD_NAME(*input_files: typing.Union[str, bytes, os.PathLike]):
    all_files = []
    for input_file in input_files:
        input_file = str(input_file)
        if not os.path.exists(input_file):
            raise ValueError(f'No such file: {input_file}')
        if os.path.isdir(input_file):
            sub_files = [str(f) for f in Path(input_file).glob("**/*")]
            all_files.extend([f for f in sub_files if not os.path.isdir(f)])
        else:
            all_files.append(input_file)
    all_files.sort()
    return all_files