func_code_string: #include <bits/stdc++.h>   using namespace std;   long double gimmearea(long double x1, long double y1, long double r1,                         long double x2, long double y2, long double r2,                         long double c) {     long double t1, t2, p1, p2;     t1 = acos((r1 * r1 + c - r2 * r2) / (2 * r1 * sqrt(c)));     t2 = acos((r2 * r2 + c - r1 * r1) / (2 * r2 * sqrt(c)));     p1 = sin(2 * t1);     p2 = sin(2 * t2);     return (r1 * r1 * t1 + r2 * r2 * t2) - 0.5 * (r1 * r1 * p1 + r2 * r2 * p2);   }   int main() {     long double x1, y1, r1, x2, y2, r2, c, ans;     cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2;     c = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);     if (c >= (r1 + r2) * (r1 + r2)) {       ans = 0;     } else if (sqrt(c) <= fabs(r1 - r2)) {       if (r2 < r1) r1 = r2;       ans = 3.14159265358979323846264338 * r1 * r1;     } else {       ans = gimmearea(x1, y1, r1, x2, y2, r2, c);     }     cout << fixed << setprecision(15);     cout << ans << endl;     return 0;   }   