#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
const int inf = 100000000;
template <class T>
inline T in() {
  register char c = 0;
  register T num = 0;
  bool n = false;
  while (c < 33) c = getchar();
  while (c > 33) {
    if (c == '-')
      n = true;
    else
      num = num * 10 + c - '0';
    c = getchar();
  }
  return n ? -num : num;
}
int main() {
  int r1, p1, p2, a, b, tmp;
  int i;
  scanf("%d", &r1);
  int maxxr1 = -inf;
  for (i = 0; i < r1; i++) {
    scanf("%d", &tmp);
    maxxr1 = max(maxxr1, tmp);
  }
  scanf("%d", &p1);
  int maxxp1 = -inf;
  for (i = 0; i < p1; i++) {
    scanf("%d", &tmp);
    maxxp1 = max(maxxp1, tmp);
  }
  scanf("%d", &p2);
  int minnp2 = inf;
  for (i = 0; i < p2; i++) {
    scanf("%d", &tmp);
    minnp2 = min(minnp2, tmp);
  }
  scanf("%d %d", &a, &b);
  int deno = a * minnp2 + b * maxxp1;
  int nume = b * maxxp1;
  double ans = (double)nume / deno;
  ans = sqrt(ans);
  ans *= maxxr1;
  printf("%lf\n", ans);
  return 0;
}
