<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def files_from_list(*paths):
 """ Return a list of all file paths from a list of files or directories. For each path in the input: if it is a file, return it; if it is a directory, return a list of files in the directory. Arguments: paths (list of str):
 List of file and directory paths. Returns: list of str: Absolute file paths. Raises: File404: If any of the paths do not exist. """

    ret = []
    for path in paths:
        if isfile(path):
            ret.append(abspath(path))
        elif isdir(path):
            ret += [f for f in ls(path, abspaths=True, recursive=True)
                    if isfile(f)]
        else:
            raise File404(path)
    return ret