#include <bits/stdc++.h>
using namespace std;
long long i, j, n, k, k1, k2, k3, m, h, z, l, x, y, r;
long long dp[1005][1005];
string s;
long long fib[600500];
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long lcm(long long a, long long b) { return a * b / gcd(a, b); }
vector<pair<long long, long long> > f;
int main() {
  long double l1, l2, l3;
  cin >> l1 >> l2 >> l3;
  long double R1 = l1 / (2. * sin(3.14159265358979323846 / 3));
  long double R2 = l2 / (2. * sin(3.14159265358979323846 / 4));
  long double R3 = l3 / (2. * sin(3.14159265358979323846 / 5));
  long double S1 = 3. * l1 * l1 / (4. * tan(3.14159265358979323846 / 3));
  long double S2 = 4. * l2 * l2 / (4. * tan(3.14159265358979323846 / 4));
  long double S3 = 5. * l3 * l3 / (4. * tan(3.14159265358979323846 / 5));
  long double h1 = sqrt(l1 * l1 - R1 * R1);
  long double h2 = sqrt(l2 * l2 - R2 * R2);
  long double h3 = sqrt(l3 * l3 - R3 * R3);
  long double ans = 1. / 3. * (S1 * h1 + S2 * h2 + S3 * h3);
  cout.precision(20);
  cout << ans << endl;
  return 0;
}
