def read_values(xs, sep, *values):
    """Read values from a string.

    Args:
        xs (str): Values as one string.
        sep (str): Separator separating the values in the string.
        *values (str): Names of the values.

    Returns:
        dict: Naming of the values mapping to the values.
    """
    xs = [x.strip() for x in xs.split(sep)]
    if len(xs) != len(values):
        raise ValueError(f"Expected {len(values)} values, but got {len(xs)}.")
    return {v: int(x) for v, x in zip(values, xs)}