def get_polynomial_points(coefficients, num_points, prime):
    """ Calculates the first n polynomial points.
        [ (1, f(1)), (2, f(2)), ... (n, f(n)) ]
    """
    points = []
    for x in range(1, num_points + 1):
        y = coefficients[0]
        for i in range(1, len(coefficients)):
            exponentiation = x ** i % prime
            term = coefficients[i] * exponentiation % prime
            y = (y + term) % prime
        points.append((x, y))
    return points
