#include <bits/stdc++.h>
using namespace std;
long double sqr(long double a) { return a * a; }
long double solve(long double r1, long double r2, long double d) {
  long double angle = acos((sqr(r2) + sqr(d) - sqr(r1)) / (2 * r2 * d));
  long double bigs = sqr(r2) * angle;
  long double smalls = sqr(r2) * sin(angle) * cos(angle);
  return bigs - smalls;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long double x1, y1, r1, x2, y2, r2, pi = 2 * acos(0);
  cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;
  long double d = sqrt(sqr(x2 - x1) + sqr(y2 - y1));
  cout << setprecision(6) << fixed;
  if (d >= r1 + r2) return cout << 0, 0;
  if (d <= abs(r1 - r2)) return cout << sqr(min(r1, r2)) * pi, 0;
  cout << solve(r1, r2, d) + solve(r2, r1, d);
}
