def dot_product(p1, p2, o=(0, 0)):
    """ Returns dot product
    Args:
      p1, p2: point (x, y)
      o: origin
    """
    v1 = vector(o, p1)
    v2 = vector(o, p2)
    return v1[0] * v2[0] + v1[1] * v2[1]