import re
class Point:
    def __init__(self, A, B):
        self.x = A
        self.y = B

class Line:
    def __init__(self, A, B):
        self.point_A = A
        self.point_B = B

class Circle:
    def __init__(self, A, B):
        self.O = A
        self.r = B

def getDistance(circle, l):
    # 1计算点到直线的距离
    fz=abs((l.point_A.x-circle.O.x)*(l.point_B.y-circle.O.y)-(l.point_A.y-circle.O.y)*(l.point_B.x-circle.O.x)) 
    fm=((l.point_B.x-l.point_A.x)**2+(l.point_B.y-l.point_A.y)**2)**0.5  
    d=fz/fm
    # 2计算弦长
    if d==0:
        return 2*circle.r
    elif d>=circle.r:
        return 0
    else:
        return 2*((circle.r**2-d**2)**0.5)

def main():
    ox, oy, r = map(float, input().split())
    x1, y1, x2, y2 = map(float, input().split())
    
    center = Point(ox, oy)
    circle = Circle(center, int(r))
    
    p1 = Point(x1, y1)
    p2 = Point(x2, y2)
    l = Line(p1, p2)
    
    result = getDistance(circle, l)
    print("{:.6f}".format(result))

if __name__ == "__main__":
    main()