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()