#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
long long even = 0, odd = 0, ans = 0;
void solve() {
  long long n, m, l;
  cin >> n;
  vector<long long> r1(n);
  for (int i = 0; i < n; i++) cin >> r1[i];
  cin >> m;
  vector<long long> p1(m);
  for (int j = 0; j < m; j++) cin >> p1[j];
  cin >> l;
  vector<long long> p2(l);
  for (int j = 0; j < l; j++) cin >> p2[j];
  long long a, b;
  cin >> a >> b;
  double r1_maxi = *max_element(r1.begin(), r1.end());
  double p1_maxi = *max_element(p1.begin(), p1.end());
  double p2_mini = *min_element(p2.begin(), p2.end());
  double ab = (1.0 * a) / b;
  double li = 0, r = r1_maxi;
  while (li + 0.000000001 < r) {
    double mid = (li + r) / 2;
    double val =
        ((r1_maxi * r1_maxi - mid * mid) * p1_maxi) / (mid * mid * p2_mini);
    if (val < ab)
      r = mid;
    else
      li = mid;
  }
  cout << setprecision(12) << fixed << li << endl;
  return;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  solve();
  return 0;
}
