#include <bits/stdc++.h>
int nf, ne, ns, num[13];
double rf, re, rs, df, de, F[105][105], G[105][105];
std::pair<double, double> val[13], Val[105];
int read() {
  char c = getchar();
  int ans = 0;
  while (c < '0' || c > '9') c = getchar();
  while (c >= '0' && c <= '9') ans = ans * 10 + c - '0', c = getchar();
  return ans;
}
double sqr(double x) { return x * x; }
double max(double x, double y) { return x < y ? y : x; }
double min(double x, double y) { return x < y ? x : y; }
double calc(int s) {
  int cnt = 0;
  for (int i = 0; i < 13; i++) num[i] = s % 3, s /= 3, cnt += num[i];
  if (cnt != ns) return 0;
  cnt = 0;
  for (int i = 0; i < 13; i++) {
    val[i].first = rf * 2, val[i].second = re * 2;
    for (int j = 0; j < 13; j++) {
      double l = max(i - rf, j - rs), r = min(i + rf, j + rs);
      if (l < r) val[i].first += (r - l) * num[j];
    }
    for (int j = 0; j < 13; j++) {
      double l = max(i - re, j - rs), r = min(i + re, j + rs);
      if (l < r) val[i].second += (r - l) * num[j];
    }
    val[i].first *= df, val[i].second *= de;
  }
  for (int i = 0; i < 13; i++)
    for (int j = num[i]; j < 2; j++) Val[++cnt] = val[i];
  std::sort(Val + 1, Val + cnt + 1, std::greater<std::pair<double, double> >());
  for (int i = 0; i <= cnt; i++)
    for (int j = 0; j <= cnt; j++) F[i][j] = G[i][j] = 0;
  for (int i = cnt; i; i--) {
    G[i][cnt - i + 1] = G[i + 1][s - i] + Val[i].second;
    for (int j = 1; j <= cnt - i; j++)
      G[i][j] = max(G[i][j], G[i - 1][j - 1] + Val[i].second);
  }
  for (int i = 1; i <= cnt; i++) {
    F[i][0] = F[i - 1][0] + Val[i].second,
    F[i][i] = F[i - 1][i - 1] + Val[i].first;
    for (int j = 1; j < i; j++)
      F[i][j] =
          max(F[i - 1][j - 1] + Val[i].first, F[i - 1][j] + Val[i].second);
  }
  double ans = 0;
  for (int i = nf; i <= nf + ne; i++)
    ans = max(ans, F[i][nf] + G[i + 1][ne - (i - nf)]);
  return ans;
}
int main() {
  nf = read(), ne = read(), ns = read();
  rf = sqrt(sqr(read()) - 1), re = sqrt(sqr(read()) - 1),
  rs = sqrt(sqr(read()) - 1);
  df = read(), de = read();
  double ans = 0;
  for (int i = 0; i < 1594323; i++) ans = max(ans, calc(i));
  printf("%.15lf", ans);
  return 0;
}
