#include <bits/stdc++.h>
using namespace std;
double func(double w, double h, double theta) {
  double bound = atan2(h, w) * 2.0;
  if (theta > bound) return 4.0 * h * h / sin(theta);
  double ans = 4.0 * w * h;
  double d1 =
      (2.0 * w * (1.0 + cos(theta)) - 2.0 * h * sin(theta)) /
      ((1.0 + cos(theta)) * (1.0 + cos(theta)) - sin(theta) * sin(theta));
  double d2 =
      (2.0 * h * (1.0 + cos(theta)) - 2.0 * w * sin(theta)) /
      ((1.0 + cos(theta)) * (1.0 + cos(theta)) - sin(theta) * sin(theta));
  ans -= d1 * d1 * sin(theta) * cos(theta);
  ans -= d2 * d2 * sin(theta) * cos(theta);
  return ans;
}
int main(void) {
  int w, h, alpha;
  cin >> w >> h >> alpha;
  if (alpha > 90) alpha = 180 - alpha;
  double theta = alpha / 180.0 * acos(-1.0);
  if (w < h) swap(w, h);
  double ans = func(w / 2.0, h / 2.0, theta);
  printf("%.9f\n", ans);
  return 0;
}
