#include <bits/stdc++.h>
using namespace std;
vector<double> r1, p1, p2;
int main() {
  int n, m, l, i, j;
  double a, b, k;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%lf", &k);
    r1.push_back(k);
  }
  sort(r1.begin(), r1.begin() + n);
  scanf("%d", &m);
  for (i = 0; i < m; i++) {
    scanf("%lf", &k);
    p1.push_back(k);
  }
  sort(p1.begin(), p1.begin() + m);
  scanf("%d", &l);
  for (i = 0; i < l; i++) {
    scanf("%lf", &k);
    p2.push_back(k);
  }
  sort(p2.begin(), p2.begin() + l);
  scanf("%lf%lf", &a, &b);
  double ans = 0;
  for (i = 0; i < m; i++) {
    double tmp;
    tmp = b * p1[i] * r1[n - 1] * r1[n - 1];
    tmp /= p1[i] * b + a * p2[0];
    tmp = sqrt(tmp);
    if (tmp < r1[n - 1] && ans < tmp) ans = tmp;
  }
  printf("%.15lf\n", ans);
  return 0;
}
