#include <bits/stdc++.h>
using namespace std;
int main() {
  long long w, h, a;
  cin >> w >> h >> a;
  if (a % 180 == 0) {
    cout << setprecision(20) << w * h << endl;
    return 0;
  }
  if (w < h) swap(w, h);
  if (a > 90) a = 180 - a;
  double alpha = (double)a / 180 * M_PI;
  double beta = atan((double)w / h);
  double ksi = (M_PI - alpha) / 2;
  double gamma = M_PI - 2 * beta;
  if (alpha - gamma > 0.000000001) {
    cout << setprecision(20) << pow(h / sin(alpha), 2) * sin(alpha) << endl;
    return 0;
  }
  double d = sqrt(w * w + h * h) / 2;
  double e = sqrt(2 * d * d * (1 - cos(alpha)));
  double p = (2 * d + e) / 2;
  double s = sqrt(p * (p - d) * (p - d) * (p - e));
  double h1 = 2 * s / d;
  double d1 = h1 / tan(M_PI / 2 - beta + alpha);
  double d2 = h1 / tan(ksi);
  double l = sqrt(pow((d1 + d2), 2) + e * e - 2 * e * (d1 + d2) * cos(ksi));
  p = (d1 + d2 + e + l) / 2;
  s = sqrt(p * (p - d1 - d2) * (p - e) * (p - l));
  double h2 = 2 * s / l;
  double x = h2 / cos(alpha);
  double z = x / tan(alpha);
  double sub_1 = x * z / 2;
  double y = sqrt(x * x + z * z);
  double f = w - (z + y);
  double g = f / tan(alpha);
  double sub_2 = f * g / 2;
  cout << setprecision(20) << w * h - 2 * (sub_1 + sub_2) << endl;
}
