#include using namespace std; int main(void) { // LONG DOUBLE?! double x, y, r, ax, ay, bx, by; cin >> x >> y >> r >> ax >> ay >> bx >> by; ax -= x; bx -= x; ay -= y; by -= y; double lx = min(ax, bx); double rx = max(ax, bx); double uy = max(ay, by); double dy = min(ay, by); int steps = 10000000; double sum = 0; lx = max(lx, -r); rx = min(rx, r); double stepsize = (rx - lx)/steps; for (int i = 0; i < steps; i++) { double x = lx + i * stepsize; double up = sqrt(r * r - x * x); double bot = -up; double ups = min(up, uy); double bots = max(bot, dy); if (bots < ups) { double segint = ups - bots; sum += segint * stepsize; } } printf("%0.4f\n", sum); }