#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-7;
const double PI = acos(-1.0);
const int oo = 0x7f7f7f7f;
inline int max(int a, int b) {
  if (a > b) return a;
  return b;
}
inline int min(int a, int b) {
  if (a < b) return a;
  return b;
}
template <class T>
inline T lowbit(T a) {
  return a & -a;
}
template <class T>
inline void checkmax(T &a, T b) {
  if (a < b) a = b;
}
template <class T>
inline void checkmin(T &a, T b) {
  if (a == -1 || a > b) a = b;
}
vector<int> x, y, z;
int n, m, k;
int A, B;
int main() {
  x.clear(), y.clear(), z.clear();
  int elem;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> elem;
    x.push_back(elem);
  }
  sort(x.begin(), x.end());
  int r1 = x[n - 1];
  cin >> m;
  for (int i = 0; i < m; i++) {
    cin >> elem;
    y.push_back(elem);
  }
  sort(y.begin(), y.end());
  int p1 = y[m - 1];
  cin >> k;
  for (int i = 0; i < k; i++) {
    cin >> elem;
    z.push_back(elem);
  }
  sort(z.begin(), z.end());
  int p2 = z[0];
  cin >> A >> B;
  double r2 = r1 * r1;
  r2 /= (1.0 + (double)A * (double)p2 / ((double)B * (double)p1));
  r2 = sqrt(r2);
  printf("%.12f\n", r2);
  return 0;
}
