def steps_to_coords(hor_steps, vert_steps, start_x, start_y, wire_coords):
    """Add coordinates to a set of points that the wire passes through. They
    are defined as a number of steps horizontally or vertically from the
    starting point for this particular instruction.

    Parameters
    ----------
    hor_steps : int
        number of steps to take along the x direction
    vert_steps : int
        number of steps to take along the y direction
    start_x : int
        x coordinate of starting point
    start_y : int
        y coordinate of starting point
    wire_coords : set
        set of coordinates that the wire passes through

    Returns
    -------
    start_x : int
        x coordinate of end point
        (will be the starting point for the next instruction)
    start_y : int
        y coordinate of end point
        (will be the starting point for the next instruction)
    wire_coords : set
        set of coordinates that the wire passes through
    """
    if hor_steps > 0:
        for x in range(1, hor_steps + 1):
            wire_coords.add((start_x + x, start_y))
    elif hor_steps < 0:
        for x in range(1, (-1) * hor_steps + 1):
            wire_coords.add((start_x - x, start_y))

    if vert_steps > 0:
        for y in range(1, vert_steps + 1):
            wire_coords.add((start_x, start_y + y))
    elif vert_steps < 0:
        for y in range(1, (-1) * vert_steps + 1):
            wire_coords.add((start_x, start_y - y))

    start_x, start_y = start_x + hor_steps, start_y + vert_steps

    return (start_x, start_y), wire_coords