#include <bits/stdc++.h>

using namespace std;

int main(void) {
	// LONG DOUBLE?!
	long double x, y, r, ax, ay, bx, by;
	cin >> x >> y >> r >> ax >> ay >> bx >> by;
	ax -= x;
	bx -= x;
	ay -= y;
	by -= y;
	long double lx = min(ax, bx);
	long double rx = max(ax, bx);
	long double uy = max(ay, by);
	long double dy = min(ay, by);
	long double steps = 5000000;

	long double sum = 0;
	lx = max(lx, -r);
	rx = min(rx, r);

	long double stepsize = (rx - lx)/steps;

	for (int i = 0; i < steps; i++) {
		long double x = lx + i * stepsize;
		long double up = sqrt(r * r - x * x);
		long double bot = -up;

		long double ups = min(up, uy);
		long double bots = max(bot, dy);
		if (bots < ups) {
			long double segint = ups - bots;
			sum += segint * stepsize;
		}
	}
	printf("%0.10Lf\n", sum);
			
}