import math


def orthogonal_projection_point_to_line(a, b, c, p):
    """
    Return the projection of the point p on the line defined by a, b and c with $x + by + c = 0$.
    """
    p2 = ((b*(b*p[0] - a*p[1]) - a*c)/(math.pow(a,2.)+math.pow(b,2.)),
          (a*(-b*p[0] + a*p[1]) - b*c)/(math.pow(a,2.)+math.pow(b,2.)))
    return p2