func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T, class U>   bool cmp_second(const pair<T, U> &a, const pair<T, U> &b) {     return a.second < b.second;   }   pair<int, int> operator+(const pair<int, int> &a, const pair<int, int> &b) {     return make_pair(a.first + b.first, a.second + b.second);   }   pair<int, int> operator-(const pair<int, int> &a, const pair<int, int> &b) {     return make_pair(a.first - b.first, a.second - b.second);   }   pair<int, int> &operator+=(pair<int, int> &a, const pair<int, int> &b) {     a.first += b.first;     a.second += b.second;     return a;   }   pair<int, int> &operator-=(pair<int, int> &a, const pair<int, int> &b) {     a.first -= b.first;     a.second -= b.second;     return a;   }   inline int sg(int x) { return x ? (x > 0 ? 1 : -1) : 0; }   const double pi = acos(-1.0);   int main(void) {     double w, h, a;     scanf( %lf %lf %lf , &w, &h, &a);     if (a > 90.0) a = 180.0 - a;     a = a / 180.0 * pi;     double d = sqrt(w * w + h * h) * 0.5;     double sol;     if ((d * d + d * d - min(w, h) * min(w, h)) / (2 * d * d) <= cos(a)) {       double A = 1 + cos(a);       double B = sin(a);       double x = (A * w - B * h) / (A * A - B * B);       double y = (A * h - B * w) / (A * A - B * B);       sol = w * h - (x * x + y * y) * sin(a) * cos(a);     } else {       double s = min(w, h);       double z = s / sin(a);       sol = z * z * sin(a);     }     printf( %.12lf n , sol);     return 0;   }   