#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const double pi = acos(-1.0);
int sign(double k) {
  if (k > eps)
    return 1;
  else if (k < -eps)
    return -1;
  return 0;
}
int cmp(double k1, double k2) { return sign(k1 - k2); }
struct point {
  double x, y, r;
  point operator+(const point &k1) const { return (point){k1.x + x, k1.y + y}; }
  point operator-(const point &k1) const { return (point){x - k1.x, y - k1.y}; }
  point operator*(double k1) const { return (point){x * k1, y * k1}; }
  point operator/(double k1) const { return (point){x / k1, y / k1}; }
  int operator==(const point &k1) const {
    return cmp(x, k1.x) == 0 && cmp(y, k1.y) == 0;
  }
  bool operator<(const point k1) const {
    int a = cmp(x, k1.x);
    if (a == -1)
      return 1;
    else if (a == 1)
      return 0;
    else
      return cmp(y, k1.y) == -1;
  }
};
double dis(point xx, point yy) {
  return sqrt((yy.x - xx.x) * (yy.x - xx.x) + (yy.y - xx.y) * (yy.y - xx.y));
}
double abs1(point a) { return sqrt(a.x * a.x + a.y * a.y); }
double abs2(point a) { return a.x * a.x + a.y * a.y; }
double dot(point k1, point k2) { return k1.x * k2.x + k1.y * k2.y; }
double cross(point k1, point k2) { return k1.x * k2.y - k1.y * k2.x; }
vector<point> ConvexHull(vector<point> A, int flag = 1) {
  int n = A.size();
  vector<point> ans(n * 2);
  sort(A.begin(), A.end());
  int now = -1;
  for (int i = 0; i < A.size(); i++) {
    while (now > 0 &&
           sign(cross(ans[now] - ans[now - 1], A[i] - ans[now - 1])) < flag)
      now--;
    ans[++now] = A[i];
  }
  for (int i = n - 2, pre = now; i >= 0; i--) {
    while (now > pre &&
           sign(cross(ans[now] - ans[now - 1], A[i] - ans[now - 1])) < flag)
      now--;
    ans[++now] = A[i];
  }
  ans.resize(now);
  return ans;
}
int main() {
  double w, h, af;
  cin >> w >> h >> af;
  if (w < h) swap(w, h);
  af = min(af, 180 - af);
  af = af / 180 * pi;
  double ans = w * h;
  double h1 = w / 2 - tan(af / 2) * h / 2;
  double h2 = h / 2 - tan(af) * h1 + tan(af / 2) * (w / 2);
  double b = 2 * atan(h / w);
  if (af < b) {
    if (af > 0) ans -= (h1 * h1 * tan(af) + h2 * h2 * sin(af) * cos(af));
  } else {
    ans = h * h / sin(af);
  }
  printf("%.10lf\n", ans);
}
