from math import acos, sqrt, pi

def circ(r):
	return pi*r**2
def usec(r, d):
	if d >= r:
		return 0
	elif d <= -r:
		return circ(r)
	else:
		return r**2*acos(d/r)-d*sqrt(r**2-d**2)
def ang(ax, ay, vx, vy, bx, by):
	return acos(((ax-vx)*(bx-vx)+(ay-vy)*(by-vy)) / (sqrt((ax-vx)**2+(ay-vy)**2)*sqrt((bx-vx)**2+(by-vy)**2)))
def orobs(ax, ay, bx, by, cx, cy):
	return 0.5*((bx-ax)*(cy-ay) - (cx-ax)*(by-ay))
def mainroh(r, xt, yt):
	uy = sqrt(r**2-xt**2) - yt
	vx = sqrt(r**2-yt**2) - xt
	thet = ang(0,uy,-xt,-yt,vx,0)
	return (thet/2)*r**2 - orobs(-xt,-yt,vx,0,0,0) - orobs(-xt,-yt,0,0,0,uy)

def rohsec(r, xt, yt):
	if r <= yt or r <= xt:
		return 0
	if abs(xt) < r:
		if abs(yt) < r:
			return mainroh(R, xt, yt)
		else:
			return usec(r, xt)
	else:
		if abs(yt) < r:
			return usec(r, yt)
		else:
			return circ(r)	
	

X, Y, R, Ax, Ay, Bx, By = tuple(int(v) for v in input().split(" "))
Dokraj, Hokraj = sorted([Ay, By])
Lokraj, Pokraj = sorted([Ax, Bx])
#print(Hokraj, Pokraj, Dokraj, Lokraj)

L = X - Lokraj
P = Pokraj - X
H = Hokraj - Y
D = Y - Dokraj
#print(H, P, D, L)

base = circ(R)
ar1 = usec(R, H) 
ar2 = usec(R, P)
ar3 = usec(R, D) 
ar4 = usec(R, L)

ar5 = rohsec(R, P, H)
ar6 = rohsec(R, P, D)
ar7 = rohsec(R, L, D)
ar8 = rohsec(R, L, H)

#print(base)
#print(ar1,ar2,ar3,ar4)
#print(ar5,ar6,ar7,ar8)

#print("------")

final = base - (ar1+ar2+ar3+ar4) + (ar5+ar6+ar7+ar8)
final = abs(final)

print("%.4f" % final)

