#include <bits/stdc++.h>
using namespace std;
int main(int argc, char* argv[]) {
  int n, m, k;
  vector<double> r1, p1, p2;
  cin >> n;
  while (n--) {
    int hlp;
    cin >> hlp;
    r1.push_back(hlp);
  }
  cin >> m;
  while (m--) {
    int hlp;
    cin >> hlp;
    p1.push_back(hlp);
  }
  cin >> k;
  while (k--) {
    int hlp;
    cin >> hlp;
    p2.push_back(hlp);
  }
  double A, B;
  cin >> A >> B;
  double maxr2 = 0;
  sort(r1.begin(), r1.end());
  sort(p1.begin(), p1.end());
  sort(p2.begin(), p2.end());
  {
    maxr2 = r1[r1.size() - 1] * sqrt(p1[p1.size() - 1] / p2[0] /
                                     (A / B + p1[p1.size() - 1] / p2[0]));
  }
  char buf[256];
  cout << gcvt(maxr2, 50, buf);
  return 0;
}
