#include <bits/stdc++.h>
using namespace std;
double xorg[5], yorg[5];
double xrot[5], yrot[5];
const double PI = acos(-1.0), EPS = 1e-12;
int main() {
  double w, h, a, aa, h1, h2, area1, area2;
  cout << fixed << setprecision(7);
  cin >> w >> h >> a;
  if (a > 90) a = 180.0 - a;
  if (a == 0) {
    cout << w * h << endl;
    return 0;
  }
  if (a == 90) {
    cout << min(w, h) * min(w, h) << endl;
    return 0;
  }
  if (w < h) swap(w, h);
  aa = PI * (90.0 - a) / 180.0;
  a = PI * a / 180.0;
  xorg[1] = w / 2.0;
  yorg[1] = h / 2.0;
  xorg[2] = w / 2.0;
  yorg[2] = -1.0 * (h / 2.0);
  xorg[3] = -1.0 * (w / 2.0);
  yorg[3] = -1.0 * (h / 2.0);
  xorg[4] = -1.0 * (w / 2.0);
  yorg[4] = (h / 2.0);
  for (int i = 1; i <= 4; i++) {
    xrot[i] = xorg[i] * cos(a) - yorg[i] * sin(a);
    yrot[i] = yorg[i] * cos(a) + xorg[i] * sin(a);
  }
  if (xrot[2] >= xorg[2]) {
    h1 = yrot[1] - yorg[1];
    h2 = xrot[2] - xorg[2];
    area1 = (h1 * h1) / (tan(a) * 2.0) + (h1 * h1) / (tan(aa) * 2.0);
    area2 = (h2 * h2) / (tan(a) * 2.0) + (h2 * h2) / (tan(aa) * 2.0);
    cout << w * h - area1 * 2.0 - area2 * 2.0 << endl;
  } else {
    h1 = yrot[1] - yorg[1];
    h2 = yrot[2] - yorg[2] - h;
    area1 = (h1 * h1) / (tan(a) * 2.0) + (h1 * h1) / (tan(aa) * 2.0);
    area2 = (h2 * h2) / (tan(a) * 2.0) + (h2 * h2) / (tan(aa) * 2.0);
    cout << w * h - area1 * 2.0 + area2 * 2.0 << endl;
  }
  return 0;
}
