def simulate_shot(x_coords, y_coords, x_speed, y_speed) -> tuple[bool, int]:
    """
    Simulates shot from Start point [0][500] with x_speed, y_speed
    :return: True if final shot position is in target area, False otherwise
    and highest y_pos position reached
    """
    x_pos = 0
    y_pos = 0
    idx = 0
    max_y = -100000
    while idx < 500:
        x_pos += x_speed
        if x_speed > 0:
            x_speed -= 1
        elif x_speed < 0:
            x_speed += 1
        y_pos += y_speed
        max_y = max(max_y, y_pos)
        y_speed -= 1
        idx += 1
        if (
            x_coords[0] <= x_pos <= x_coords[1]
            and y_coords[0] <= y_pos <= y_coords[1]
        ):
            return True, max_y
    return False, max_y